inicio da v2
1
.gitignore
vendored
|
@ -4,6 +4,7 @@ composer.lock
|
||||||
app/logs/*.log
|
app/logs/*.log
|
||||||
app/cache/*.gz
|
app/cache/*.gz
|
||||||
TODO.md
|
TODO.md
|
||||||
|
node_modules
|
||||||
|
|
||||||
# Created by https://www.toptal.com/developers/gitignore/api/composer,windows,macos,linux
|
# Created by https://www.toptal.com/developers/gitignore/api/composer,windows,macos,linux
|
||||||
# Edit at https://www.toptal.com/developers/gitignore?templates=composer,windows,macos,linux
|
# Edit at https://www.toptal.com/developers/gitignore?templates=composer,windows,macos,linux
|
||||||
|
|
86
app/Gulpfile.js
Normal file
|
@ -0,0 +1,86 @@
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
const gulp = require('gulp');
|
||||||
|
const sass = require('gulp-sass')(require('sass'));
|
||||||
|
const concat = require('gulp-concat');
|
||||||
|
const uglify = require('gulp-uglify');
|
||||||
|
const clean_css = require('gulp-clean-css');
|
||||||
|
const sourcemaps = require('gulp-sourcemaps');
|
||||||
|
const imagemin = require('gulp-imagemin');
|
||||||
|
const webp = require('gulp-webp');
|
||||||
|
const newer = require('gulp-newer');
|
||||||
|
const ttf2woff = require('gulp-ttf2woff');
|
||||||
|
const ttf2woff2 = require('gulp-ttf2woff2');
|
||||||
|
|
||||||
|
const paths = {
|
||||||
|
styles: {
|
||||||
|
src: 'assets/scss/*.scss',
|
||||||
|
dest: 'dist/css'
|
||||||
|
},
|
||||||
|
scripts: {
|
||||||
|
src: 'assets/js/*.js',
|
||||||
|
dest: 'dist/js'
|
||||||
|
},
|
||||||
|
images: {
|
||||||
|
src: 'assets/images/**/*',
|
||||||
|
dest: 'dist/images'
|
||||||
|
},
|
||||||
|
fonts: {
|
||||||
|
src: 'assets/fonts/**/*',
|
||||||
|
dest: 'dist/fonts'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
function styles() {
|
||||||
|
return gulp.src(paths.styles.src)
|
||||||
|
.pipe(sourcemaps.init())
|
||||||
|
.pipe(sass({
|
||||||
|
outputStyle: "expanded",
|
||||||
|
includePaths: ['./node_modules']
|
||||||
|
}))
|
||||||
|
.pipe(concat('style.css'))
|
||||||
|
.pipe(clean_css())
|
||||||
|
.pipe(gulp.dest(paths.styles.dest))
|
||||||
|
.pipe(sourcemaps.write('.'))
|
||||||
|
.pipe(gulp.dest(paths.styles.dest))
|
||||||
|
}
|
||||||
|
|
||||||
|
function scripts() {
|
||||||
|
return gulp.src(paths.scripts.src)
|
||||||
|
.pipe(sourcemaps.init())
|
||||||
|
.pipe(concat('script.js'))
|
||||||
|
.pipe(uglify())
|
||||||
|
.pipe(gulp.dest(paths.scripts.dest))
|
||||||
|
.pipe(sourcemaps.write('.'))
|
||||||
|
.pipe(gulp.dest(paths.scripts.dest))
|
||||||
|
}
|
||||||
|
|
||||||
|
function images() {
|
||||||
|
return gulp.src(paths.images.src)
|
||||||
|
.pipe(newer(paths.images.dest))
|
||||||
|
.pipe(imagemin())
|
||||||
|
.pipe(gulp.dest(paths.images.dest))
|
||||||
|
.pipe(webp())
|
||||||
|
.pipe(gulp.dest(paths.images.dest))
|
||||||
|
}
|
||||||
|
|
||||||
|
function fonts() {
|
||||||
|
return gulp.src(paths.fonts.src)
|
||||||
|
.pipe(newer(paths.fonts.dest))
|
||||||
|
.pipe(ttf2woff())
|
||||||
|
.pipe(gulp.dest(paths.fonts.dest))
|
||||||
|
.pipe(ttf2woff2())
|
||||||
|
.pipe(gulp.dest(paths.fonts.dest))
|
||||||
|
}
|
||||||
|
|
||||||
|
function watch() {
|
||||||
|
gulp.watch(paths.styles.src, styles);
|
||||||
|
gulp.watch(paths.scripts.src, scripts);
|
||||||
|
gulp.watch(paths.images.src, images);
|
||||||
|
gulp.watch(paths.fonts.src, fonts);
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.default = gulp.series(
|
||||||
|
gulp.parallel(styles, scripts, images, fonts),
|
||||||
|
watch
|
||||||
|
);
|
BIN
app/assets/fonts/inter-500.ttf
Normal file
BIN
app/assets/fonts/inter-600.ttf
Normal file
BIN
app/assets/fonts/unna-400.ttf
Normal file
3
app/assets/icons/android.svg
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-android2" viewBox="0 0 16 16">
|
||||||
|
<path d="m10.213 1.471.691-1.26q.069-.124-.048-.192-.128-.057-.195.058l-.7 1.27A4.8 4.8 0 0 0 8.005.941q-1.032 0-1.956.404l-.7-1.27Q5.281-.037 5.154.02q-.117.069-.049.193l.691 1.259a4.25 4.25 0 0 0-1.673 1.476A3.7 3.7 0 0 0 3.5 5.02h9q0-1.125-.623-2.072a4.27 4.27 0 0 0-1.664-1.476ZM6.22 3.303a.37.37 0 0 1-.267.11.35.35 0 0 1-.263-.11.37.37 0 0 1-.107-.264.37.37 0 0 1 .107-.265.35.35 0 0 1 .263-.11q.155 0 .267.11a.36.36 0 0 1 .112.265.36.36 0 0 1-.112.264m4.101 0a.35.35 0 0 1-.262.11.37.37 0 0 1-.268-.11.36.36 0 0 1-.112-.264q0-.154.112-.265a.37.37 0 0 1 .268-.11q.155 0 .262.11a.37.37 0 0 1 .107.265q0 .153-.107.264M3.5 11.77q0 .441.311.75.311.306.76.307h.758l.01 2.182q0 .414.292.703a.96.96 0 0 0 .7.288.97.97 0 0 0 .71-.288.95.95 0 0 0 .292-.703v-2.182h1.343v2.182q0 .414.292.703a.97.97 0 0 0 .71.288.97.97 0 0 0 .71-.288.95.95 0 0 0 .292-.703v-2.182h.76q.436 0 .749-.308.31-.307.311-.75V5.365h-9zm10.495-6.587a.98.98 0 0 0-.702.278.9.9 0 0 0-.293.685v4.063q0 .406.293.69a.97.97 0 0 0 .702.284q.42 0 .712-.284a.92.92 0 0 0 .293-.69V6.146a.9.9 0 0 0-.293-.685 1 1 0 0 0-.712-.278m-12.702.283a1 1 0 0 1 .712-.283q.41 0 .702.283a.9.9 0 0 1 .293.68v4.063a.93.93 0 0 1-.288.69.97.97 0 0 1-.707.284 1 1 0 0 1-.712-.284.92.92 0 0 1-.293-.69V6.146q0-.396.293-.68"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.4 KiB |
4
app/assets/icons/apple.svg
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-apple" viewBox="0 0 16 16">
|
||||||
|
<path d="M11.182.008C11.148-.03 9.923.023 8.857 1.18c-1.066 1.156-.902 2.482-.878 2.516s1.52.087 2.475-1.258.762-2.391.728-2.43m3.314 11.733c-.048-.096-2.325-1.234-2.113-3.422s1.675-2.789 1.698-2.854-.597-.79-1.254-1.157a3.7 3.7 0 0 0-1.563-.434c-.108-.003-.483-.095-1.254.116-.508.139-1.653.589-1.968.607-.316.018-1.256-.522-2.267-.665-.647-.125-1.333.131-1.824.328-.49.196-1.422.754-2.074 2.237-.652 1.482-.311 3.83-.067 4.56s.625 1.924 1.273 2.796c.576.984 1.34 1.667 1.659 1.899s1.219.386 1.843.067c.502-.308 1.408-.485 1.766-.472.357.013 1.061.154 1.782.539.571.197 1.111.115 1.652-.105.541-.221 1.324-1.059 2.238-2.758q.52-1.185.473-1.282"/>
|
||||||
|
<path d="M11.182.008C11.148-.03 9.923.023 8.857 1.18c-1.066 1.156-.902 2.482-.878 2.516s1.52.087 2.475-1.258.762-2.391.728-2.43m3.314 11.733c-.048-.096-2.325-1.234-2.113-3.422s1.675-2.789 1.698-2.854-.597-.79-1.254-1.157a3.7 3.7 0 0 0-1.563-.434c-.108-.003-.483-.095-1.254.116-.508.139-1.653.589-1.968.607-.316.018-1.256-.522-2.267-.665-.647-.125-1.333.131-1.824.328-.49.196-1.422.754-2.074 2.237-.652 1.482-.311 3.83-.067 4.56s.625 1.924 1.273 2.796c.576.984 1.34 1.667 1.659 1.899s1.219.386 1.843.067c.502-.308 1.408-.485 1.766-.472.357.013 1.061.154 1.782.539.571.197 1.111.115 1.652-.105.541-.221 1.324-1.059 2.238-2.758q.52-1.185.473-1.282"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.4 KiB |
1
app/assets/icons/archive.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="black" d="M32 32l448 0c17.7 0 32 14.3 32 32l0 32c0 17.7-14.3 32-32 32L32 128C14.3 128 0 113.7 0 96L0 64C0 46.3 14.3 32 32 32zm0 128l448 0 0 256c0 35.3-28.7 64-64 64L96 480c-35.3 0-64-28.7-64-64l0-256zm128 80c0 8.8 7.2 16 16 16l160 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-160 0c-8.8 0-16 7.2-16 16z"/></svg>
|
After Width: | Height: | Size: 376 B |
1
app/assets/icons/bookmark.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="black" d="M0 48C0 21.5 21.5 0 48 0l0 48V441.4l130.1-92.9c8.3-6 19.6-6 27.9 0L336 441.4V48H48V0H336c26.5 0 48 21.5 48 48V488c0 9-5 17.2-13 21.3s-17.6 3.4-24.9-1.8L192 397.5 37.9 507.5c-7.3 5.2-16.9 5.9-24.9 1.8S0 497 0 488V48z"/></svg>
|
After Width: | Height: | Size: 309 B |
1
app/assets/icons/bsky.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 568 501"><path fill="currentColor" d="M123.121 33.664C188.241 82.553 258.281 181.68 284 234.873c25.719-53.192 95.759-152.32 160.879-201.21C491.866-1.611 568-28.906 568 57.947c0 17.346-9.945 145.713-15.778 166.555-20.275 72.453-94.155 90.933-159.875 79.748C507.222 323.8 536.444 388.56 473.333 453.32c-119.86 122.992-172.272-30.859-185.702-70.281-2.462-7.227-3.614-10.608-3.631-7.733-.017-2.875-1.169.506-3.631 7.733-13.43 39.422-65.842 193.273-185.702 70.281-63.111-64.76-33.89-129.52 80.986-149.071-65.72 11.185-139.6-7.295-159.875-79.748C9.945 203.659 0 75.291 0 57.946 0-28.906 76.135-1.612 123.121 33.664Z"></path></svg>
|
After Width: | Height: | Size: 677 B |
1
app/assets/icons/bypass.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="black" d="M240 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM192 48a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-32 80c17.7 0 32 14.3 32 32l8 0c13.3 0 24 10.7 24 24l0 16c0 1.7-.2 3.4-.5 5.1C280.3 229.6 320 286.2 320 352c0 88.4-71.6 160-160 160S0 440.4 0 352c0-65.8 39.7-122.4 96.5-146.9c-.4-1.6-.5-3.3-.5-5.1l0-16c0-13.3 10.7-24 24-24l8 0c0-17.7 14.3-32 32-32zm0 320a96 96 0 1 0 0-192 96 96 0 1 0 0 192zm192-96c0-25.9-5.1-50.5-14.4-73.1c16.9-32.9 44.8-59.1 78.9-73.9c-.4-1.6-.5-3.3-.5-5.1l0-16c0-13.3 10.7-24 24-24l8 0c0-17.7 14.3-32 32-32s32 14.3 32 32l8 0c13.3 0 24 10.7 24 24l0 16c0 1.7-.2 3.4-.5 5.1C600.3 229.6 640 286.2 640 352c0 88.4-71.6 160-160 160c-62 0-115.8-35.3-142.4-86.9c9.3-22.5 14.4-47.2 14.4-73.1zm224 0a96 96 0 1 0 -192 0 96 96 0 1 0 192 0zM368 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm80 48a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"/></svg>
|
After Width: | Height: | Size: 908 B |
3
app/assets/icons/chrome.svg
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-browser-chrome" viewBox="0 0 16 16">
|
||||||
|
<path fill-rule="evenodd" d="M16 8a8 8 0 0 1-7.022 7.94l1.902-7.098a3 3 0 0 0 .05-1.492A3 3 0 0 0 10.237 6h5.511A8 8 0 0 1 16 8M0 8a8 8 0 0 0 7.927 8l1.426-5.321a3 3 0 0 1-.723.255 3 3 0 0 1-1.743-.147 3 3 0 0 1-1.043-.7L.633 4.876A8 8 0 0 0 0 8m5.004-.167L1.108 3.936A8.003 8.003 0 0 1 15.418 5H8.066a3 3 0 0 0-1.252.243 2.99 2.99 0 0 0-1.81 2.59M8 10a2 2 0 1 0 0-4 2 2 0 0 0 0 4"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 525 B |
1
app/assets/icons/code.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="black" d="M392.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm80.6 120.1c-12.5 12.5-12.5 32.8 0 45.3L562.7 256l-89.4 89.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-112-112c-12.5-12.5-32.8-12.5-45.3 0zm-306.7 0c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l112 112c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256l89.4-89.4c12.5-12.5 12.5-32.8 0-45.3z"/></svg>
|
After Width: | Height: | Size: 556 B |
1
app/assets/icons/error.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="black" d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h80c13.3 0 24-10.7 24-24s-10.7-24-24-24h-80c-13.3 0-24 10.7-24 24s10.7 24 24 24zm-24-72h128c13.3 0 24-10.7 24-24s-10.7-24-24-24H192c-13.3 0-24 10.7-24 24s10.7 24 24 24z"/></svg>
|
After Width: | Height: | Size: 319 B |
3
app/assets/icons/firefox.svg
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-browser-firefox" viewBox="0 0 16 16">
|
||||||
|
<path d="M13.384 3.408c.535.276 1.22 1.152 1.556 1.963a8 8 0 0 1 .503 3.897l-.009.077-.026.224A7.758 7.758 0 0 1 .006 8.257v-.04q.025-.545.114-1.082c.01-.074.075-.42.09-.489l.01-.051a6.6 6.6 0 0 1 1.041-2.35q.327-.465.725-.87.35-.358.758-.65a1.5 1.5 0 0 1 .26-.137c-.018.268-.04 1.553.268 1.943h.003a5.7 5.7 0 0 1 1.868-1.443 3.6 3.6 0 0 0 .021 1.896q.105.07.2.152c.107.09.226.207.454.433l.068.066.009.009a2 2 0 0 0 .213.18c.383.287.943.563 1.306.741.201.1.342.168.359.193l.004.008c-.012.193-.695.858-.933.858-2.206 0-2.564 1.335-2.564 1.335.087.997.714 1.839 1.517 2.357a4 4 0 0 0 .439.241q.114.05.228.094c.325.115.665.18 1.01.194 3.043.143 4.155-2.804 3.129-4.745v-.001a3 3 0 0 0-.731-.9 3 3 0 0 0-.571-.37l-.003-.002a2.68 2.68 0 0 1 1.87.454 3.92 3.92 0 0 0-3.396-1.983q-.116.001-.23.01l-.042.003V4.31h-.002a4 4 0 0 0-.8.14 7 7 0 0 0-.333-.314 2 2 0 0 0-.2-.152 4 4 0 0 1-.088-.383 5 5 0 0 1 1.352-.289l.05-.003c.052-.004.125-.01.205-.012C7.996 2.212 8.733.843 10.17.002l-.003.005.003-.001.002-.002h.002l.002-.002h.015a.02.02 0 0 1 .012.007 2.4 2.4 0 0 0 .206.48q.09.153.183.297c.49.774 1.023 1.379 1.543 1.968.771.874 1.512 1.715 2.036 3.02l-.001-.013a8 8 0 0 0-.786-2.353"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
1
app/assets/icons/link.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="black" d="M579.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114L422.3 334.8c-31.5 31.5-82.5 31.5-114 0c-27.9-27.9-31.5-71.8-8.6-103.8l1.1-1.6c10.3-14.4 6.9-34.4-7.4-44.6s-34.4-6.9-44.6 7.4l-1.1 1.6C206.5 251.2 213 330 263 380c56.5 56.5 148 56.5 204.5 0L579.8 267.7zM60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5L217.7 177.2c31.5-31.5 82.5-31.5 114 0c27.9 27.9 31.5 71.8 8.6 103.9l-1.1 1.6c-10.3 14.4-6.9 34.4 7.4 44.6s34.4 6.9 44.6-7.4l1.1-1.6C433.5 260.8 427 182 377 132c-56.5-56.5-148-56.5-204.5 0L60.2 244.3z"/></svg>
|
After Width: | Height: | Size: 872 B |
1
app/assets/icons/marreta.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="black" d="M283.9 378.6l18.3-60.1c18-4.1 34.2-16 43.1-33.8l64-128c10.5-21.1 8.4-45.2-3.7-63.6l52.7-76.6c3.7-5.4 10.4-8 16.7-6.5s11.2 6.7 12.2 13.1l16.2 104.1 105.1-7.4c6.5-.5 12.7 3.1 15.5 9s1.8 12.9-2.6 17.8L550.1 224l71.3 77.5c4.4 4.8 5.5 11.9 2.6 17.8s-9 9.5-15.5 9l-105.1-7.4L487.3 425c-1 6.5-5.9 11.7-12.2 13.1s-13-1.1-16.7-6.5l-59.7-86.7-91.4 52.2c-5.7 3.3-12.8 2.7-17.9-1.4s-7.2-10.9-5.3-17.2zm28.3-101.7c-9.3 10.9-25.2 14.4-38.6 7.7l-65.9-32.9s0 0 0 0L122 208.8s0 0 0 0L17.7 156.6C1.9 148.7-4.5 129.5 3.4 113.7l40-80C48.8 22.8 59.9 16 72 16l120 0c5 0 9.9 1.2 14.3 3.4l78.2 39.1 81.8 40.9c15.8 7.9 22.2 27.1 14.3 42.9l-64 128c-1.2 2.4-2.7 4.6-4.4 6.6zM107.6 237.4l85.9 42.9L90.9 485.5c-11.9 23.7-40.7 33.3-64.4 21.5S-6.8 466.2 5.1 442.5L107.6 237.4z"/></svg>
|
After Width: | Height: | Size: 838 B |
1
app/assets/icons/refresh.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="black" d="M105.1 202.6c7.7-21.8 20.2-42.3 37.8-59.8c62.5-62.5 163.8-62.5 226.3 0L386.3 160 352 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l111.5 0c0 0 0 0 0 0l.4 0c17.7 0 32-14.3 32-32l0-112c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 35.2L414.4 97.6c-87.5-87.5-229.3-87.5-316.8 0C73.2 122 55.6 150.7 44.8 181.4c-5.9 16.7 2.9 34.9 19.5 40.8s34.9-2.9 40.8-19.5zM39 289.3c-5 1.5-9.8 4.2-13.7 8.2c-4 4-6.7 8.8-8.1 14c-.3 1.2-.6 2.5-.8 3.8c-.3 1.7-.4 3.4-.4 5.1L16 432c0 17.7 14.3 32 32 32s32-14.3 32-32l0-35.1 17.6 17.5c0 0 0 0 0 0c87.5 87.4 229.3 87.4 316.7 0c24.4-24.4 42.1-53.1 52.9-83.8c5.9-16.7-2.9-34.9-19.5-40.8s-34.9 2.9-40.8 19.5c-7.7 21.8-20.2 42.3-37.8 59.8c-62.5 62.5-163.8 62.5-226.3 0l-.1-.1L125.6 352l34.4 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L48.4 288c-1.6 0-3.2 .1-4.8 .3s-3.1 .5-4.6 1z"/></svg>
|
After Width: | Height: | Size: 873 B |
1
app/assets/icons/search.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="black" d="M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"/></svg>
|
After Width: | Height: | Size: 326 B |
3
app/assets/icons/telegram.svg
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-telegram" viewBox="0 0 16 16">
|
||||||
|
<path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0M8.287 5.906q-1.168.486-4.666 2.01-.567.225-.595.442c-.03.243.275.339.69.47l.175.055c.408.133.958.288 1.243.294q.39.01.868-.32 3.269-2.206 3.374-2.23c.05-.012.12-.026.166.016s.042.12.037.141c-.03.129-1.227 1.241-1.846 1.817-.193.18-.33.307-.358.336a8 8 0 0 1-.188.186c-.38.366-.664.64.015 1.088.327.216.589.393.85.571.284.194.568.387.936.629q.14.092.27.187c.331.236.63.448.997.414.214-.02.435-.22.547-.82.265-1.417.786-4.486.906-5.751a1.4 1.4 0 0 0-.013-.315.34.34 0 0 0-.114-.217.53.53 0 0 0-.31-.093c-.3.005-.763.166-2.984 1.09"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 711 B |
1
app/assets/icons/warning.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="black" d="M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"/></svg>
|
After Width: | Height: | Size: 397 B |
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 7.2 KiB |
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
BIN
app/assets/images/wall.png
Normal file
After Width: | Height: | Size: 210 KiB |
33
app/assets/scss/_base.scss
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
// Default
|
||||||
|
body {
|
||||||
|
font-family: var(--font-family-haffer);
|
||||||
|
font-size: var(--font-size);
|
||||||
|
font-weight: var(--font-weight);
|
||||||
|
line-height: var(--line-height);
|
||||||
|
color: var(--text);
|
||||||
|
text-align: left;
|
||||||
|
background-color: var(--background);
|
||||||
|
min-width: 320px;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
text-decoration: none;
|
||||||
|
color: var(--link);
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
text-decoration: none;
|
||||||
|
color: var(--link-lighten);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
padding-right: var(--container_spacing);
|
||||||
|
padding-left: var(--container_spacing);
|
||||||
|
margin-right: auto;
|
||||||
|
margin-left: auto;
|
||||||
|
|
||||||
|
@include devices(desktop) {
|
||||||
|
max-width: 1248px;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
35
app/assets/scss/_fonts.scss
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
@font-face {
|
||||||
|
font-family: 'inter';
|
||||||
|
src: url('../fonts/inter-500.eot');
|
||||||
|
src: local('Inter Medium'), local('Inter-Medium'),
|
||||||
|
url('../fonts/inter-500.woff2') format('woff2'),
|
||||||
|
url('../fonts/inter-500.woff') format('woff'),
|
||||||
|
url('../fonts/inter-500.ttf') format('truetype');
|
||||||
|
font-weight: 500;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'inter';
|
||||||
|
src: url('../fonts/inter-600.eot');
|
||||||
|
src: local('Inter SemiBold'), local('Inter-SemiBold'),
|
||||||
|
url('../fonts/inter-600.woff2') format('woff2'),
|
||||||
|
url('../fonts/inter-600.woff') format('woff'),
|
||||||
|
url('../fonts/inter-600.ttf') format('truetype');
|
||||||
|
font-weight: 600;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: 'unna';
|
||||||
|
src: url('../fonts/unna-400.eot');
|
||||||
|
src: local('Unna Regular'), local('Unna-Regular'),
|
||||||
|
url('../fonts/unna-400.woff2') format('woff2'),
|
||||||
|
url('../fonts/unna-400.woff') format('woff'),
|
||||||
|
url('../fonts/unna-400.ttf') format('truetype');
|
||||||
|
font-weight: 400;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
19
app/assets/scss/_icons.scss
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
// https://icons.getbootstrap.com/
|
||||||
|
// https://icofont.com/icons
|
||||||
|
|
||||||
|
// https://jakearchibald.github.io/svgomg/
|
||||||
|
// https://yoksel.github.io/url-encoder/
|
||||||
|
// https://codepen.io/sosuke/pen/Pjoqqp
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: -0.125em;
|
||||||
|
fill: currentcolor;
|
||||||
|
width: 1em;
|
||||||
|
height: 1em;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: center center;
|
||||||
|
background-size: 100% auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
@include icon('alice');
|
24
app/assets/scss/_mixin.scss
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
|
||||||
|
@mixin create-color($name, $color) {
|
||||||
|
--#{$name}: #{$color};
|
||||||
|
--#{$name}-lighten: color.scale($color, $lightness: -100%);
|
||||||
|
--#{$name}-darken: color.adjust($color, $lightness: -10%)
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin devices($breakpoint) {
|
||||||
|
@if $breakpoint == desktop {
|
||||||
|
@media only screen and (min-width: 1200px) {
|
||||||
|
@content;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin background-image-svg($name) {
|
||||||
|
background-image: url("../images/icons/#{$name}.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin icon($name) {
|
||||||
|
.icon--#{$name} {
|
||||||
|
@include background-image-svg($name);
|
||||||
|
}
|
||||||
|
}
|
57
app/assets/scss/_root.scss
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
:root {
|
||||||
|
// Fonts
|
||||||
|
--font-family-sans-serif: -apple-system,
|
||||||
|
BlinkMacSystemFont,
|
||||||
|
"Segoe UI",
|
||||||
|
Roboto,
|
||||||
|
"Helvetica Neue",
|
||||||
|
Arial,
|
||||||
|
"Noto Sans",
|
||||||
|
"Liberation Sans",
|
||||||
|
sans-serif,
|
||||||
|
"Apple Color Emoji",
|
||||||
|
"Segoe UI Emoji",
|
||||||
|
"Segoe UI Symbol",
|
||||||
|
"Noto Color Emoji";
|
||||||
|
--font-family-monospace: SFMono-Regular,
|
||||||
|
Menlo, Monaco,
|
||||||
|
Consolas,
|
||||||
|
"Liberation Mono",
|
||||||
|
"Courier New",
|
||||||
|
monospace;
|
||||||
|
--font-family-haffer: "haffer";
|
||||||
|
|
||||||
|
//-- Styles
|
||||||
|
--font-size: 16px;
|
||||||
|
--font-weight: 500;
|
||||||
|
--line-height: 160%;
|
||||||
|
|
||||||
|
// Colors
|
||||||
|
$hex-marreta: #fff;
|
||||||
|
$hex-text: #000;
|
||||||
|
$hex-textmuted: #000;
|
||||||
|
$hex-link: #000;
|
||||||
|
|
||||||
|
@include create-color('marreta', $hex-marreta);
|
||||||
|
@include create-color('text', $hex-text);
|
||||||
|
@include create-color('textmuted', $hex-textmuted);
|
||||||
|
@include create-color('link', $hex-link);
|
||||||
|
|
||||||
|
// Borders
|
||||||
|
--border-radius-default: 1rem;
|
||||||
|
|
||||||
|
// Spacing
|
||||||
|
--container_spacing: 24px;
|
||||||
|
@include devices(desktop) {
|
||||||
|
--container_spacing: 64px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
html {
|
||||||
|
scroll-behavior: smooth;
|
||||||
|
}
|
||||||
|
@media screen and (prefers-reduced-motion: reduce) {
|
||||||
|
html {
|
||||||
|
scroll-behavior: auto;
|
||||||
|
}
|
||||||
|
}
|
0
app/assets/scss/home.scss
Normal file
13
app/assets/scss/index.scss
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
@use "sass:math";
|
||||||
|
@use "sass:color";
|
||||||
|
|
||||||
|
@import "normalize.css/normalize";
|
||||||
|
|
||||||
|
@import "mixin";
|
||||||
|
@import "fonts";
|
||||||
|
|
||||||
|
@import "root";
|
||||||
|
@import "base";
|
||||||
|
@import "icons";
|
||||||
|
|
||||||
|
@import "home";
|
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="#3B82F6" d="M32 32l448 0c17.7 0 32 14.3 32 32l0 32c0 17.7-14.3 32-32 32L32 128C14.3 128 0 113.7 0 96L0 64C0 46.3 14.3 32 32 32zm0 128l448 0 0 256c0 35.3-28.7 64-64 64L96 480c-35.3 0-64-28.7-64-64l0-256zm128 80c0 8.8 7.2 16 16 16l160 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-160 0c-8.8 0-16 7.2-16 16z"/></svg>
|
|
Before Width: | Height: | Size: 378 B |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="#FBBF24" d="M0 48C0 21.5 21.5 0 48 0l0 48V441.4l130.1-92.9c8.3-6 19.6-6 27.9 0L336 441.4V48H48V0H336c26.5 0 48 21.5 48 48V488c0 9-5 17.2-13 21.3s-17.6 3.4-24.9-1.8L192 397.5 37.9 507.5c-7.3 5.2-16.9 5.9-24.9 1.8S0 497 0 488V48z"/></svg>
|
|
Before Width: | Height: | Size: 311 B |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="#10B981" d="M240 32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM192 48a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm-32 80c17.7 0 32 14.3 32 32l8 0c13.3 0 24 10.7 24 24l0 16c0 1.7-.2 3.4-.5 5.1C280.3 229.6 320 286.2 320 352c0 88.4-71.6 160-160 160S0 440.4 0 352c0-65.8 39.7-122.4 96.5-146.9c-.4-1.6-.5-3.3-.5-5.1l0-16c0-13.3 10.7-24 24-24l8 0c0-17.7 14.3-32 32-32zm0 320a96 96 0 1 0 0-192 96 96 0 1 0 0 192zm192-96c0-25.9-5.1-50.5-14.4-73.1c16.9-32.9 44.8-59.1 78.9-73.9c-.4-1.6-.5-3.3-.5-5.1l0-16c0-13.3 10.7-24 24-24l8 0c0-17.7 14.3-32 32-32s32 14.3 32 32l8 0c13.3 0 24 10.7 24 24l0 16c0 1.7-.2 3.4-.5 5.1C600.3 229.6 640 286.2 640 352c0 88.4-71.6 160-160 160c-62 0-115.8-35.3-142.4-86.9c9.3-22.5 14.4-47.2 14.4-73.1zm224 0a96 96 0 1 0 -192 0 96 96 0 1 0 192 0zM368 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm80 48a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"/></svg>
|
|
Before Width: | Height: | Size: 910 B |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="#6B7280" d="M392.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm80.6 120.1c-12.5 12.5-12.5 32.8 0 45.3L562.7 256l-89.4 89.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-112-112c-12.5-12.5-32.8-12.5-45.3 0zm-306.7 0c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l112 112c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256l89.4-89.4c12.5-12.5 12.5-32.8 0-45.3z"/></svg>
|
|
Before Width: | Height: | Size: 558 B |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="#EF4444" d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336h80c13.3 0 24-10.7 24-24s-10.7-24-24-24h-80c-13.3 0-24 10.7-24 24s10.7 24 24 24zm-24-72h128c13.3 0 24-10.7 24-24s-10.7-24-24-24H192c-13.3 0-24 10.7-24 24s10.7 24 24 24z"/></svg>
|
|
Before Width: | Height: | Size: 321 B |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="#3B82F6" d="M579.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114L422.3 334.8c-31.5 31.5-82.5 31.5-114 0c-27.9-27.9-31.5-71.8-8.6-103.8l1.1-1.6c10.3-14.4 6.9-34.4-7.4-44.6s-34.4-6.9-44.6 7.4l-1.1 1.6C206.5 251.2 213 330 263 380c56.5 56.5 148 56.5 204.5 0L579.8 267.7zM60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5L217.7 177.2c31.5-31.5 82.5-31.5 114 0c27.9 27.9 31.5 71.8 8.6 103.9l-1.1 1.6c-10.3 14.4-6.9 34.4 7.4 44.6s34.4 6.9 44.6-7.4l1.1-1.6C433.5 260.8 427 182 377 132c-56.5-56.5-148-56.5-204.5 0L60.2 244.3z"/></svg>
|
|
Before Width: | Height: | Size: 874 B |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="#3B82F6" d="M283.9 378.6l18.3-60.1c18-4.1 34.2-16 43.1-33.8l64-128c10.5-21.1 8.4-45.2-3.7-63.6l52.7-76.6c3.7-5.4 10.4-8 16.7-6.5s11.2 6.7 12.2 13.1l16.2 104.1 105.1-7.4c6.5-.5 12.7 3.1 15.5 9s1.8 12.9-2.6 17.8L550.1 224l71.3 77.5c4.4 4.8 5.5 11.9 2.6 17.8s-9 9.5-15.5 9l-105.1-7.4L487.3 425c-1 6.5-5.9 11.7-12.2 13.1s-13-1.1-16.7-6.5l-59.7-86.7-91.4 52.2c-5.7 3.3-12.8 2.7-17.9-1.4s-7.2-10.9-5.3-17.2zm28.3-101.7c-9.3 10.9-25.2 14.4-38.6 7.7l-65.9-32.9s0 0 0 0L122 208.8s0 0 0 0L17.7 156.6C1.9 148.7-4.5 129.5 3.4 113.7l40-80C48.8 22.8 59.9 16 72 16l120 0c5 0 9.9 1.2 14.3 3.4l78.2 39.1 81.8 40.9c15.8 7.9 22.2 27.1 14.3 42.9l-64 128c-1.2 2.4-2.7 4.6-4.4 6.6zM107.6 237.4l85.9 42.9L90.9 485.5c-11.9 23.7-40.7 33.3-64.4 21.5S-6.8 466.2 5.1 442.5L107.6 237.4z"/></svg>
|
|
Before Width: | Height: | Size: 840 B |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="#3B82F6" d="M105.1 202.6c7.7-21.8 20.2-42.3 37.8-59.8c62.5-62.5 163.8-62.5 226.3 0L386.3 160 352 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l111.5 0c0 0 0 0 0 0l.4 0c17.7 0 32-14.3 32-32l0-112c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 35.2L414.4 97.6c-87.5-87.5-229.3-87.5-316.8 0C73.2 122 55.6 150.7 44.8 181.4c-5.9 16.7 2.9 34.9 19.5 40.8s34.9-2.9 40.8-19.5zM39 289.3c-5 1.5-9.8 4.2-13.7 8.2c-4 4-6.7 8.8-8.1 14c-.3 1.2-.6 2.5-.8 3.8c-.3 1.7-.4 3.4-.4 5.1L16 432c0 17.7 14.3 32 32 32s32-14.3 32-32l0-35.1 17.6 17.5c0 0 0 0 0 0c87.5 87.4 229.3 87.4 316.7 0c24.4-24.4 42.1-53.1 52.9-83.8c5.9-16.7-2.9-34.9-19.5-40.8s-34.9 2.9-40.8 19.5c-7.7 21.8-20.2 42.3-37.8 59.8c-62.5 62.5-163.8 62.5-226.3 0l-.1-.1L125.6 352l34.4 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L48.4 288c-1.6 0-3.2 .1-4.8 .3s-3.1 .5-4.6 1z"/></svg>
|
|
Before Width: | Height: | Size: 875 B |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="#FFFFFF" d="M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"/></svg>
|
|
Before Width: | Height: | Size: 328 B |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="#FBBF24" d="M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24V296c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"/></svg>
|
|
Before Width: | Height: | Size: 399 B |
2
app/dist/css/style.css
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}@font-face{font-family:inter;src:url(../fonts/inter-500.eot);src:local("Inter Medium"),local("Inter-Medium"),url(../fonts/inter-500.woff2) format("woff2"),url(../fonts/inter-500.woff) format("woff"),url(../fonts/inter-500.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:inter;src:url(../fonts/inter-600.eot);src:local("Inter SemiBold"),local("Inter-SemiBold"),url(../fonts/inter-600.woff2) format("woff2"),url(../fonts/inter-600.woff) format("woff"),url(../fonts/inter-600.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:unna;src:url(../fonts/unna-400.eot);src:local("Unna Regular"),local("Unna-Regular"),url(../fonts/unna-400.woff2) format("woff2"),url(../fonts/unna-400.woff) format("woff"),url(../fonts/unna-400.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--font-family-haffer:"haffer";--font-size:16px;--font-weight:500;--line-height:160%;--marreta:#fff;--marreta-lighten:color.scale($color, $lightness: -100%);--marreta-darken:color.adjust($color, $lightness: -10%);--text:#000;--text-lighten:color.scale($color, $lightness: -100%);--text-darken:color.adjust($color, $lightness: -10%);--textmuted:#000;--textmuted-lighten:color.scale($color, $lightness: -100%);--textmuted-darken:color.adjust($color, $lightness: -10%);--link:#000;--link-lighten:color.scale($color, $lightness: -100%);--link-darken:color.adjust($color, $lightness: -10%);--border-radius-default:1rem;--container_spacing:24px}@media only screen and (min-width:1200px){:root{--container_spacing:64px}}html{scroll-behavior:smooth}@media screen and (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{font-family:var(--font-family-haffer);font-size:var(--font-size);font-weight:var(--font-weight);line-height:var(--line-height);color:var(--text);text-align:left;background-color:var(--background);min-width:320px}a{text-decoration:none;color:var(--link)}a:hover{text-decoration:none;color:var(--link-lighten)}.container{padding-right:var(--container_spacing);padding-left:var(--container_spacing);margin-right:auto;margin-left:auto}@media only screen and (min-width:1200px){.container{max-width:1248px}}.icon{display:inline-block;vertical-align:-.125em;fill:currentcolor;width:1em;height:1em;background-repeat:no-repeat;background-position:center center;background-size:100% auto}.icon--alice{background-image:url(../images/icons/alice.svg)}
|
||||||
|
/*# sourceMappingURL=style.css.map */
|
1
app/dist/css/style.css.map
vendored
Normal file
BIN
app/dist/fonts/inter-500.woff
vendored
Normal file
BIN
app/dist/fonts/inter-600.woff
vendored
Normal file
BIN
app/dist/fonts/unna-400.woff
vendored
Normal file
BIN
app/dist/images/opengraph.png
vendored
Normal file
After Width: | Height: | Size: 6.4 KiB |
BIN
app/dist/images/opengraph.webp
vendored
Normal file
After Width: | Height: | Size: 5.9 KiB |
BIN
app/dist/images/pwa/192x192.png
vendored
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
app/dist/images/pwa/192x192.webp
vendored
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
app/dist/images/pwa/512x512.png
vendored
Normal file
After Width: | Height: | Size: 6.9 KiB |
BIN
app/dist/images/pwa/512x512.webp
vendored
Normal file
After Width: | Height: | Size: 3.9 KiB |
BIN
app/dist/images/wall.png
vendored
Normal file
After Width: | Height: | Size: 156 KiB |
BIN
app/dist/images/wall.webp
vendored
Normal file
After Width: | Height: | Size: 22 KiB |
7
app/dist/js/script.js
vendored
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
function validateForm(){var r=document.getElementById("url"),e=document.querySelector('button[type="submit"]'),t=r.value.trim();if(!t)return showError("Por favor, insira uma URL"),!1;if(!/^https?:\/\//i.test(t))return showError("A URL deve começar com http:// ou https://"),!1;try{new URL(t)}catch(r){return showError("Formato de URL inválido"),!1}return r.readonly=!0,e.disabled=!0,e.classList.add("cursor-wait","disabled:bg-blue-400"),e.classList.remove("hover:bg-blue-700"),r.classList.add("cursor-wait","disabled:bg-gray-50","focus:outline-none"),e.innerHTML=`
|
||||||
|
<img src="assets/svg/search.svg" class="w-6 h-6 mr-3" alt="Search">
|
||||||
|
Analisando...
|
||||||
|
`,!0}function showError(r){var e=document.getElementById("urlForm"),t=e.querySelector(".error-message"),t=(t&&t.remove(),document.createElement("div"));t.className="error-message mt-4 text-base text-red-600",t.innerHTML=`
|
||||||
|
<img src="assets/svgs/error.svg" class="inline-block w-5 h-5 mr-2" alt="Error icon">
|
||||||
|
`+r,e.appendChild(t)}"serviceWorker"in navigator&&window.addEventListener("load",()=>{navigator.serviceWorker.register("/service-worker.js").then(()=>{}).catch(()=>{})});
|
||||||
|
//# sourceMappingURL=script.js.map
|
1
app/dist/js/script.js.map
vendored
Normal file
13176
app/package-lock.json
generated
Normal file
28
app/package.json
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
{
|
||||||
|
"name": "horta",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "Horta",
|
||||||
|
"scripts": {
|
||||||
|
"start": "gulp"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"gulp": "^4.0.2",
|
||||||
|
"gulp-clean-css": "^4.3.0",
|
||||||
|
"gulp-concat": "^2.6.1",
|
||||||
|
"gulp-dart-sass": "^1.1.0",
|
||||||
|
"gulp-imagemin": "^7.1.0",
|
||||||
|
"gulp-newer": "^1.4.0",
|
||||||
|
"gulp-rename": "^2.0.0",
|
||||||
|
"gulp-sass": "^5.1.0",
|
||||||
|
"gulp-sourcemaps": "^3.0.0",
|
||||||
|
"gulp-ttf2woff": "^1.1.1",
|
||||||
|
"gulp-ttf2woff2": "^4.0.1",
|
||||||
|
"gulp-uglify": "^3.0.2",
|
||||||
|
"gulp-watch": "^5.0.1",
|
||||||
|
"gulp-webp": "^4.0.1",
|
||||||
|
"normalize.css": "^8.0.1",
|
||||||
|
"sass": "^1.64.2",
|
||||||
|
"sass-colors": "^1.0.14",
|
||||||
|
"sass-math": "^1.0.0"
|
||||||
|
}
|
||||||
|
}
|