Compare commits
No commits in common. "e0e10fd9268ece438d666e938549e072f6a843dc" and "f238c13739ed851d6e2b596ac757b01f0590c7d5" have entirely different histories.
e0e10fd926
...
f238c13739
3
.vscode/settings.json
vendored
3
.vscode/settings.json
vendored
@ -7,6 +7,5 @@
|
||||
"https://json.schemastore.org/kustomization.json": "file:///home/cj/Documents/futureporn-monorepo/clusters/production/infrastructure.yaml"
|
||||
},
|
||||
"editor.tabSize": 2,
|
||||
"editor.formatOnSave": true,
|
||||
"git.ignoreLimitWarning": true
|
||||
"editor.formatOnSave": true
|
||||
}
|
@ -3,7 +3,6 @@
|
||||
|
||||
|
||||
echo(" * Remux the .ts to .mp4 using `ffmpeg -i 2025-08-25T00-12-24Z.ts -c copy projektmelody-chaturbate-2025-08-24.mp4")
|
||||
echo(" If multiple files, use `ffmpeg -f concat -safe 0 -i ./files.txt -c copy ./projektmelody-chaturbate-2025-08-24.mp4`")
|
||||
echo(" [Press Enter When Complete...]")
|
||||
_ = stdin()
|
||||
|
||||
@ -20,8 +19,7 @@ echo(" * Remote pin the IPFS CID")
|
||||
echo(" [Press Enter When Complete...]")
|
||||
_ = stdin()
|
||||
|
||||
echo(" * Create magnet link. ex: `mktorrent --web-seed https://futureporn-b2.b-cdn.net/projektmelody-fansly-2025-08-27.mp4 ~/Documents/voddo/projektmelody-fansly-2025-08-27.mp4`")
|
||||
echo(" * Create magnet link. ex: `torf ~/Downloads/projektmelody-chaturbate-2025-08-27.mp4 --notorrent --notracker`")
|
||||
echo(" * Create magnet link. ex: `torf ~/Downloads/projektmelody-chaturbate-2025-08-25.mp4 --notorrent --notracker --webseed https://futureporn-b2.b-cdn.net/projektmelody-chaturbate-2025-08-25.mp4'")
|
||||
echo(" [Press Enter When Complete...]")
|
||||
_ = stdin()
|
||||
|
||||
|
@ -57,7 +57,7 @@ RUN npm run build
|
||||
RUN python3 -m venv /app/venv
|
||||
ENV PATH="/app/venv/bin:$PATH"
|
||||
|
||||
# Install python deps
|
||||
# Install torrentfile & other python deps
|
||||
RUN ./venv/bin/pip install --no-cache-dir -r requirements.txt
|
||||
|
||||
# Expose the port
|
||||
|
@ -1,30 +0,0 @@
|
||||
// build.mjs
|
||||
import esbuild from "esbuild";
|
||||
import copyStaticFiles from "esbuild-copy-static-files";
|
||||
|
||||
const build = async () => {
|
||||
console.log("🏗️ Building...");
|
||||
await esbuild.build({
|
||||
entryPoints: ["./src/client/index.js", './src/client/vod.js'],
|
||||
outdir: "./dist/client",
|
||||
bundle: true,
|
||||
minify: true,
|
||||
sourcemap: true,
|
||||
platform: "browser",
|
||||
target: "es2020",
|
||||
logLevel: "info",
|
||||
color: true,
|
||||
plugins: [
|
||||
copyStaticFiles({
|
||||
src: "./src/assets",
|
||||
dest: "./dist/client",
|
||||
recursive: true,
|
||||
})
|
||||
],
|
||||
});
|
||||
};
|
||||
|
||||
build().catch((err) => {
|
||||
console.error(err);
|
||||
process.exit(1);
|
||||
});
|
1306
services/our/package-lock.json
generated
1306
services/our/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -1,16 +1,14 @@
|
||||
{
|
||||
"name": "futureporn",
|
||||
"private": true,
|
||||
"version": "2.5.0",
|
||||
"version": "2.4.14",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "concurrently npm:dev:serve npm:dev:build:server npm:dev:build:client npm:dev:worker npm:dev:compose npm:dev:sftp",
|
||||
"dev": "concurrently npm:dev:serve npm:dev:build npm:dev:worker npm:dev:compose npm:dev:sftp",
|
||||
"dev:serve": "npx @dotenvx/dotenvx run -f ../../.env.development.local -- tsx watch ./src/index.ts",
|
||||
"dev:compose": "docker compose -f compose.development.yaml up",
|
||||
"dev:worker": "npx @dotenvx/dotenvx run -e GRAPHILE_LOGGER_DEBUG=1 -f ../../.env.development.local -- tsx watch ./src/worker.ts",
|
||||
"dev:build": "echo please use either dev:build:server or dev:build:client",
|
||||
"dev:build:server": "chokidar 'src/**/*.{js,ts}' --ignore 'src/client/**' -c tsup --clean",
|
||||
"dev:build:client": "chokidar 'src/client/**/*.{js,css}' -c 'node build.mjs'",
|
||||
"dev:build": "chokidar 'src/**/*.{js,ts}' -c tsup --clean",
|
||||
"dev:sftp": "docker run -p 2222:22 --rm atmoz/sftp user:pass:::watch",
|
||||
"start": "echo please use either start:server or start:worker; exit 1",
|
||||
"start:server": "tsx ./src/index.ts",
|
||||
@ -26,9 +24,6 @@
|
||||
"devDependencies": {
|
||||
"@eslint/compat": "^1.3.1",
|
||||
"@eslint/js": "^9.31.0",
|
||||
"chokidar": "^4.0.3",
|
||||
"esbuild": "^0.25.9",
|
||||
"esbuild-copy-static-files": "^0.1.0",
|
||||
"eslint": "^9.31.0",
|
||||
"eslint-plugin-svelte": "^3.10.1",
|
||||
"globals": "^16.3.0",
|
||||
@ -36,11 +31,7 @@
|
||||
"prisma": "6.8.2",
|
||||
"typescript": "^5.8.3",
|
||||
"typescript-eslint": "^8.36.0",
|
||||
"video.js": "^8.23.4",
|
||||
"videojs-contrib-quality-levels": "^4.1.0",
|
||||
"videojs-hls-quality-selector": "^2.0.0",
|
||||
"vitest": "^3.2.4",
|
||||
"yargs": "^18.0.0"
|
||||
"vitest": "^3.2.4"
|
||||
},
|
||||
"pnpm": {
|
||||
"onlyBuiltDependencies": [
|
||||
@ -67,7 +58,6 @@
|
||||
"@paralleldrive/cuid2": "^2.2.2",
|
||||
"@prisma/client": "6.8.2",
|
||||
"@prisma/extension-accelerate": "^1.3.0",
|
||||
"@types/fs-extra": "^11.0.4",
|
||||
"@types/node": "^22.16.3",
|
||||
"@types/node-fetch": "^2.6.12",
|
||||
"cache-manager": "^7.0.1",
|
||||
@ -77,11 +67,10 @@
|
||||
"create-torrent": "^6.1.0",
|
||||
"date-fns": "^4.1.0",
|
||||
"fastify": "^5.4.0",
|
||||
"fastify-favicon": "^5.0.0",
|
||||
"fastify-plugin": "^5.0.1",
|
||||
"fastify-sse-v2": "^4.2.1",
|
||||
"form-data": "^4.0.3",
|
||||
"fs-extra": "^11.3.1",
|
||||
"fs-extra": "^11.3.0",
|
||||
"graphile-worker": "^0.16.6",
|
||||
"handlebars": "4.7.8",
|
||||
"jdenticon": "^3.3.0",
|
||||
@ -95,6 +84,8 @@
|
||||
"onnxruntime-node": "1.22.0-rev",
|
||||
"pino": "^9.7.0",
|
||||
"pino-pretty": "^13.0.0",
|
||||
"pnpm": "^10.14.0",
|
||||
"protobufjs": "^7.5.3",
|
||||
"rate-limiter-flexible": "^7.1.1",
|
||||
"rimraf": "6.0.1",
|
||||
"sharp": "^0.34.3",
|
||||
|
@ -1,2 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "Vod" ADD COLUMN "sourceVideoDuration" INTEGER;
|
@ -1,4 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE "Vod" ADD COLUMN "sourceAudioCodec" TEXT,
|
||||
ADD COLUMN "sourceVideoCodec" TEXT,
|
||||
ADD COLUMN "sourceVideoFps" DOUBLE PRECISION;
|
@ -1,10 +0,0 @@
|
||||
/*
|
||||
Warnings:
|
||||
|
||||
- You are about to drop the column `funscript` on the `Vod` table. All the data in the column will be lost.
|
||||
|
||||
*/
|
||||
-- AlterTable
|
||||
ALTER TABLE "Vod" DROP COLUMN "funscript",
|
||||
ADD COLUMN "funscriptThrust" TEXT,
|
||||
ADD COLUMN "funscriptVibrate" TEXT;
|
@ -71,26 +71,21 @@ model Vod {
|
||||
uploaderId String // previously in Upload
|
||||
uploader User @relation(fields: [uploaderId], references: [id])
|
||||
|
||||
streamDate DateTime
|
||||
notes String?
|
||||
segmentKeys Json?
|
||||
sourceVideo String?
|
||||
sourceVideoDuration Int? // milliseconds
|
||||
sourceVideoCodec String?
|
||||
sourceAudioCodec String?
|
||||
sourceVideoFps Float?
|
||||
hlsPlaylist String?
|
||||
thumbnail String?
|
||||
asrVttKey String?
|
||||
slvttSheetKeys Json?
|
||||
slvttVTTKey String?
|
||||
magnetLink String?
|
||||
streamDate DateTime
|
||||
notes String?
|
||||
segmentKeys Json?
|
||||
sourceVideo String?
|
||||
hlsPlaylist String?
|
||||
thumbnail String?
|
||||
asrVttKey String?
|
||||
slvttSheetKeys Json?
|
||||
slvttVTTKey String?
|
||||
magnetLink String?
|
||||
|
||||
status VodStatus @default(pending)
|
||||
sha256sum String?
|
||||
cidv1 String?
|
||||
funscriptVibrate String?
|
||||
funscriptThrust String?
|
||||
status VodStatus @default(pending)
|
||||
sha256sum String?
|
||||
cidv1 String?
|
||||
funscript String?
|
||||
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @updatedAt
|
||||
|
@ -10,7 +10,7 @@ import adminRoutes from './plugins/admin'
|
||||
import hls from './plugins/hls.ts'
|
||||
import fastifyStatic from '@fastify/static'
|
||||
import fastifySecureSession from '@fastify/secure-session'
|
||||
import path, { basename, resolve } from 'node:path'
|
||||
import path, { basename } from 'node:path'
|
||||
import fastifyFormbody from '@fastify/formbody'
|
||||
import fastifyView from "@fastify/view"
|
||||
import { env } from './config/env'
|
||||
@ -21,19 +21,102 @@ import graphileWorker from './plugins/graphileWorker'
|
||||
import fastifySwagger from "@fastify/swagger"
|
||||
import fastifySwaggerUi from "@fastify/swagger-ui"
|
||||
import { join } from 'node:path'
|
||||
import { format } from 'date-fns'
|
||||
import * as jdenticon from 'jdenticon'
|
||||
import { Role } from '../generated/prisma'
|
||||
import fastifyFlash from '@fastify/flash'
|
||||
import { registerHbsHelpers } from './utils/hbsHelpers.ts'
|
||||
import fastifyFavicon from 'fastify-favicon'
|
||||
import { isModerator, hasRole } from './utils/privs'
|
||||
import { signUrl } from './utils/cdn'
|
||||
import { extractBasePath } from './utils/filesystem'
|
||||
import { truncate } from './utils/formatters.ts'
|
||||
import { icons } from './utils/icons.ts'
|
||||
import logger from './utils/logger.ts'
|
||||
import fastifyCaching from '@fastify/caching'
|
||||
|
||||
const __dirname = import.meta.dirname;
|
||||
|
||||
export async function buildApp() {
|
||||
export function buildApp() {
|
||||
const app = Fastify()
|
||||
|
||||
registerHbsHelpers(Handlebars)
|
||||
Handlebars.registerHelper('formatDate', function (dateString) {
|
||||
if (!dateString) return ''
|
||||
return format(new Date(dateString), 'yyyy-MM-dd')
|
||||
})
|
||||
Handlebars.registerHelper('identicon', function (str, size = 48) {
|
||||
return jdenticon.toSvg(str, size)
|
||||
})
|
||||
Handlebars.registerHelper('safeJson', function (context) {
|
||||
return new Handlebars.SafeString(JSON.stringify(context));
|
||||
});
|
||||
Handlebars.registerHelper('json', function (context) {
|
||||
return JSON.stringify(context)
|
||||
})
|
||||
Handlebars.registerHelper('patron', function (user) {
|
||||
if (!user.roles) {
|
||||
throw new Error(
|
||||
'patron hbs helper was called without roles. This usually means you forgot to include roles relationship in the query.'
|
||||
);
|
||||
}
|
||||
return user.roles.some((r: Role) => r.name.startsWith('supporter'));
|
||||
});
|
||||
Handlebars.registerHelper('notEqual', function (a, b) {
|
||||
return a !== b;
|
||||
});
|
||||
Handlebars.registerHelper('isEqual', function (a, b) {
|
||||
logger.trace(`isEqual a=${a} b=${b}`)
|
||||
return a == b
|
||||
});
|
||||
Handlebars.registerHelper('isModerator', function (user) {
|
||||
return isModerator(user)
|
||||
})
|
||||
Handlebars.registerHelper('hasRole', hasRole)
|
||||
Handlebars.registerHelper('breaklines', function (text) {
|
||||
text = Handlebars.Utils.escapeExpression(text);
|
||||
text = text.replace(/(\r\n|\n|\r)/gm, '<br>');
|
||||
return new Handlebars.SafeString(text);
|
||||
});
|
||||
Handlebars.registerHelper('getCdnUrl', function (s3Key) {
|
||||
// Before you remove this log, find a way to memoize this function!
|
||||
logger.info(`getCdnUrl called with CDN_ORIGIN=${env.CDN_ORIGIN} and CDN_TOKEN_SECRET=${env.CDN_TOKEN_SECRET}`)
|
||||
return signUrl(`${env.CDN_ORIGIN}/${s3Key}`, {
|
||||
securityKey: env.CDN_TOKEN_SECRET,
|
||||
expirationTime: constants.timeUnits.sevenDaysInSeconds,
|
||||
})
|
||||
})
|
||||
/**
|
||||
* @see https://github.com/video-dev/hls.js/issues/2152
|
||||
*/
|
||||
Handlebars.registerHelper('signedHlsUrl', function (s3Key) {
|
||||
if (!s3Key) throw new Error(`signedHlsUrl called with falsy s3Key=${s3Key}`);
|
||||
const pathAllowed = extractBasePath(s3Key)
|
||||
const url = signUrl(`${env.CDN_ORIGIN}/${s3Key}`, {
|
||||
securityKey: env.CDN_TOKEN_SECRET,
|
||||
pathAllowed,
|
||||
isDirectory: true,
|
||||
expirationTime: constants.timeUnits.sevenDaysInSeconds,
|
||||
})
|
||||
logger.debug(`pathAllowed=${pathAllowed} url=${url}`)
|
||||
return url
|
||||
})
|
||||
Handlebars.registerHelper('basename', function (url: string) {
|
||||
return basename(url)
|
||||
})
|
||||
Handlebars.registerHelper('trunc', function (str, length = 6) {
|
||||
return truncate(str, length)
|
||||
});
|
||||
Handlebars.registerHelper('icon', function (name: string, size = 20) {
|
||||
const svg = icons[name];
|
||||
|
||||
if (!svg) {
|
||||
return new Handlebars.SafeString(`<!-- icon "${name}" not found -->`);
|
||||
}
|
||||
|
||||
// Inject width/height if not already set
|
||||
const sizedSvg = svg
|
||||
.replace(/<svg([^>]*)>/, `<svg$1 width="${size}" height="${size}">`);
|
||||
|
||||
return new Handlebars.SafeString(sizedSvg);
|
||||
});
|
||||
|
||||
const __dirname = import.meta.dirname;
|
||||
const swaggerOptions = {
|
||||
swagger: {
|
||||
info: {
|
||||
@ -53,18 +136,12 @@ export async function buildApp() {
|
||||
exposeRoute: true,
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
app.register(fastifySwagger, swaggerOptions);
|
||||
app.register(fastifySwaggerUi, swaggerUiOptions);
|
||||
|
||||
|
||||
|
||||
app.register(fastifyFavicon, { path: path.join(__dirname, '..', 'dist', 'client'), name: 'favicon.ico', maxAge: 3600 })
|
||||
app.register(fastifyStatic, {
|
||||
root: path.join(__dirname, '..', 'dist', 'client'),
|
||||
prefix: '/assets', // optional: default '/'
|
||||
root: path.join(__dirname, 'assets'),
|
||||
prefix: '/', // optional: default '/'
|
||||
constraints: {} // optional: default {}
|
||||
})
|
||||
app.register(fastifyFormbody)
|
||||
@ -115,8 +192,6 @@ export async function buildApp() {
|
||||
app.register(hls)
|
||||
app.register(vodsRoutes)
|
||||
|
||||
|
||||
|
||||
app.register(streamsRoutes)
|
||||
app.register(vtubersRoutes)
|
||||
app.register(uploadsRoutes)
|
||||
@ -125,6 +200,5 @@ export async function buildApp() {
|
||||
app.register(adminRoutes)
|
||||
app.register(authRoutes)
|
||||
|
||||
|
||||
return app
|
||||
}
|
||||
|
2835
services/our/src/assets/css/pico.amber.css
Normal file
2835
services/our/src/assets/css/pico.amber.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.amber.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.amber.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2835
services/our/src/assets/css/pico.blue.css
Normal file
2835
services/our/src/assets/css/pico.blue.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.blue.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.blue.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.amber.css
Normal file
2458
services/our/src/assets/css/pico.classless.amber.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.amber.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.amber.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.blue.css
Normal file
2458
services/our/src/assets/css/pico.classless.blue.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.blue.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.blue.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.conditional.amber.css
Normal file
2458
services/our/src/assets/css/pico.classless.conditional.amber.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.conditional.amber.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.conditional.amber.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.conditional.blue.css
Normal file
2458
services/our/src/assets/css/pico.classless.conditional.blue.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.conditional.blue.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.conditional.blue.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.conditional.cyan.css
Normal file
2458
services/our/src/assets/css/pico.classless.conditional.cyan.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.conditional.cyan.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.conditional.cyan.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.conditional.fuchsia.css
Normal file
2458
services/our/src/assets/css/pico.classless.conditional.fuchsia.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.conditional.fuchsia.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.conditional.fuchsia.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.conditional.green.css
Normal file
2458
services/our/src/assets/css/pico.classless.conditional.green.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.conditional.green.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.conditional.green.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.conditional.grey.css
Normal file
2458
services/our/src/assets/css/pico.classless.conditional.grey.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.conditional.grey.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.conditional.grey.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.conditional.indigo.css
Normal file
2458
services/our/src/assets/css/pico.classless.conditional.indigo.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.conditional.indigo.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.conditional.indigo.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.conditional.jade.css
Normal file
2458
services/our/src/assets/css/pico.classless.conditional.jade.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.conditional.jade.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.conditional.jade.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.conditional.lime.css
Normal file
2458
services/our/src/assets/css/pico.classless.conditional.lime.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.conditional.lime.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.conditional.lime.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.conditional.orange.css
Normal file
2458
services/our/src/assets/css/pico.classless.conditional.orange.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.conditional.orange.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.conditional.orange.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.conditional.pink.css
Normal file
2458
services/our/src/assets/css/pico.classless.conditional.pink.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.conditional.pink.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.conditional.pink.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.conditional.pumpkin.css
Normal file
2458
services/our/src/assets/css/pico.classless.conditional.pumpkin.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.conditional.pumpkin.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.conditional.pumpkin.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.conditional.purple.css
Normal file
2458
services/our/src/assets/css/pico.classless.conditional.purple.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.conditional.purple.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.conditional.purple.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.conditional.red.css
Normal file
2458
services/our/src/assets/css/pico.classless.conditional.red.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.conditional.red.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.conditional.red.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.conditional.sand.css
Normal file
2458
services/our/src/assets/css/pico.classless.conditional.sand.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.conditional.sand.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.conditional.sand.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.conditional.slate.css
Normal file
2458
services/our/src/assets/css/pico.classless.conditional.slate.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.conditional.slate.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.conditional.slate.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.conditional.violet.css
Normal file
2458
services/our/src/assets/css/pico.classless.conditional.violet.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.conditional.violet.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.conditional.violet.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.conditional.yellow.css
Normal file
2458
services/our/src/assets/css/pico.classless.conditional.yellow.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.conditional.yellow.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.conditional.yellow.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.conditional.zinc.css
Normal file
2458
services/our/src/assets/css/pico.classless.conditional.zinc.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.conditional.zinc.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.conditional.zinc.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.css
Normal file
2458
services/our/src/assets/css/pico.classless.css
Normal file
File diff suppressed because it is too large
Load Diff
2458
services/our/src/assets/css/pico.classless.cyan.css
Normal file
2458
services/our/src/assets/css/pico.classless.cyan.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.cyan.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.cyan.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.fuchsia.css
Normal file
2458
services/our/src/assets/css/pico.classless.fuchsia.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.fuchsia.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.fuchsia.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.green.css
Normal file
2458
services/our/src/assets/css/pico.classless.green.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.green.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.green.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.grey.css
Normal file
2458
services/our/src/assets/css/pico.classless.grey.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.grey.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.grey.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.indigo.css
Normal file
2458
services/our/src/assets/css/pico.classless.indigo.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.indigo.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.indigo.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.jade.css
Normal file
2458
services/our/src/assets/css/pico.classless.jade.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.jade.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.jade.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.lime.css
Normal file
2458
services/our/src/assets/css/pico.classless.lime.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.lime.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.lime.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
4
services/our/src/assets/css/pico.classless.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.orange.css
Normal file
2458
services/our/src/assets/css/pico.classless.orange.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.orange.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.orange.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.pink.css
Normal file
2458
services/our/src/assets/css/pico.classless.pink.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.pink.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.pink.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.pumpkin.css
Normal file
2458
services/our/src/assets/css/pico.classless.pumpkin.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.pumpkin.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.pumpkin.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.purple.css
Normal file
2458
services/our/src/assets/css/pico.classless.purple.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.purple.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.purple.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.red.css
Normal file
2458
services/our/src/assets/css/pico.classless.red.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.red.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.red.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.sand.css
Normal file
2458
services/our/src/assets/css/pico.classless.sand.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.sand.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.sand.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.slate.css
Normal file
2458
services/our/src/assets/css/pico.classless.slate.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.slate.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.slate.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.violet.css
Normal file
2458
services/our/src/assets/css/pico.classless.violet.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.violet.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.violet.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.yellow.css
Normal file
2458
services/our/src/assets/css/pico.classless.yellow.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.yellow.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.yellow.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2458
services/our/src/assets/css/pico.classless.zinc.css
Normal file
2458
services/our/src/assets/css/pico.classless.zinc.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.classless.zinc.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.classless.zinc.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
4010
services/our/src/assets/css/pico.colors.css
Normal file
4010
services/our/src/assets/css/pico.colors.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.colors.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.colors.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2835
services/our/src/assets/css/pico.conditional.amber.css
Normal file
2835
services/our/src/assets/css/pico.conditional.amber.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.conditional.amber.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.conditional.amber.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
2835
services/our/src/assets/css/pico.conditional.blue.css
Normal file
2835
services/our/src/assets/css/pico.conditional.blue.css
Normal file
File diff suppressed because it is too large
Load Diff
4
services/our/src/assets/css/pico.conditional.blue.min.css
vendored
Normal file
4
services/our/src/assets/css/pico.conditional.blue.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user