Compare commits
50 Commits
teaser-202
...
developmen
| Author | SHA1 | Date | |
|---|---|---|---|
| c08a665503 | |||
| 023248e514 | |||
| bd461d5b69 | |||
| 376e9e7f28 | |||
| 7082fe196f | |||
| fc931a967d | |||
| 72c360a687 | |||
| aeb8f52682 | |||
| 4369102a75 | |||
| 8c2abab821 | |||
| 3ca59192c8 | |||
| ca2a31270b | |||
| 12f5f97ba8 | |||
| 0368d64bcc | |||
|
|
8a715cd5c3 | ||
|
|
e2c3ec5b8a | ||
|
|
b3f740ca46 | ||
|
|
f8a64f078e | ||
|
|
2c4cde6df8 | ||
|
|
55709a4338 | ||
|
|
eeb6583728 | ||
|
|
3bdd508218 | ||
|
|
371082e47f | ||
|
|
e1bb17ee5a | ||
|
|
13d0a32521 | ||
|
|
3ea5185842 | ||
|
|
b33c7a2b58 | ||
|
|
aafc2421cf | ||
|
|
e278d7bd25 | ||
|
|
c177ca1040 | ||
|
|
0b42131690 | ||
|
|
c5bff17388 | ||
|
|
403ff6adfb | ||
|
|
254cf8ef2c | ||
|
|
00196034a3 | ||
|
|
fe8fbf3024 | ||
|
|
cbe85064f6 | ||
|
|
81de01fab8 | ||
|
|
d20cdc6b98 | ||
|
|
be3a75752b | ||
|
|
0b6d2ce661 | ||
|
|
74eee5a30d | ||
|
|
0ece12898f | ||
|
|
9bdadb2501 | ||
|
|
8d4575ef3e | ||
|
|
02dbff37c7 | ||
|
|
0f3c7dc1d3 | ||
|
|
3e542b3544 | ||
|
|
1c1370251c | ||
|
|
f653c3d59f |
BIN
Fienta_sponsorid.webp
Normal file
|
After Width: | Height: | Size: 135 KiB |
105
README.md
@@ -1,83 +1,46 @@
|
||||
# TipiLAN
|
||||
# 🎮 TIPILAN
|
||||
|
||||
Official website for **TipiLAN** — Estonia's largest student-organised LAN event.
|
||||
**TIPILAN** is the official web platform for the TipiLAN LAN event — built using [Next.js](https://nextjs.org) and powered by the lightning-fast [Bun](https://bun.sh) runtime.
|
||||
|
||||
> Work in progress. Event date: **September 11, 2026**.
|
||||
> ⚠️ This is a work in progress! Contributions welcome.
|
||||
|
||||
---
|
||||
|
||||
## Tech Stack
|
||||
## 🚀 Features
|
||||
|
||||
- [Next.js 16](https://nextjs.org/) — App Router, SSG, Turbopack
|
||||
- [React 19](https://react.dev/)
|
||||
- [TypeScript 5](https://www.typescriptlang.org/)
|
||||
- [Tailwind CSS 4](https://tailwindcss.com/)
|
||||
- [next-intl](https://next-intl.dev/) — ET / EN localisation
|
||||
- [react-icons](https://react-icons.github.io/react-icons/)
|
||||
|
||||
Requires **Bun**.
|
||||
- Event information & schedule
|
||||
- Stream
|
||||
- Responsive dark-themed UI
|
||||
- Built with Next.js, styled with Tailwind (if applicable), powered by Bun
|
||||
|
||||
---
|
||||
|
||||
## Quickstart
|
||||
## 📦 Tech Stack
|
||||
|
||||
- [Next.js](https://nextjs.org/)
|
||||
- [Bun](https://bun.sh/)
|
||||
- [TypeScript](https://www.typescriptlang.org/)
|
||||
- [React](https://reactjs.org/)
|
||||
- [Tailwind CSS](https://tailwindcss.com/) *(if used)*
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ Setup Instructions
|
||||
|
||||
📖 See [`docs/SETUP.md`](./docs/SETUP.md) for a full setup guide on:
|
||||
|
||||
- ✅ Windows (native)
|
||||
- 🐧 Windows with WSL
|
||||
- 🐧 Linux (Ubuntu, Arch, Fedora, etc.)
|
||||
|
||||
---
|
||||
|
||||
## 🧪 Scripts
|
||||
|
||||
```bash
|
||||
bun install
|
||||
bun dev
|
||||
```
|
||||
bun dev # Run development server
|
||||
bun run build # Build for production
|
||||
bun start # Start production server
|
||||
|
||||
Open [http://localhost:3000](http://localhost:3000) — redirects to `/et` by default.
|
||||
|
||||
---
|
||||
|
||||
## Scripts
|
||||
|
||||
```bash
|
||||
bun dev # Dev server (Turbopack, localhost:3000)
|
||||
bun run build # Production build (outputs SSG for /et and /en)
|
||||
bun start # Serve production build
|
||||
bun lint:fix # ESLint with auto-fix
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Project Structure
|
||||
|
||||
```
|
||||
src/
|
||||
app/[locale]/ # Locale-based pages (et, en)
|
||||
components/teaser/ # HeroSection, CarouselSection, EndSection, Footer
|
||||
components/ # LanguageSwitcher, TeaserPage
|
||||
i18n/ # next-intl routing + request config
|
||||
lib/ # blurPlaceholders.ts (auto-generated)
|
||||
proxy.ts # next-intl routing middleware
|
||||
|
||||
translations/ # et.json, en.json
|
||||
public/images/
|
||||
backgrounds/ # Full-viewport background WebPs
|
||||
heros/ # Character/hero image WebPs
|
||||
flags/ # Language switcher SVGs
|
||||
original/ # Original PNG sources (not served)
|
||||
scripts/ # Image processing utilities
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Image Utilities
|
||||
|
||||
When adding or replacing images, re-run:
|
||||
|
||||
```bash
|
||||
# Convert new PNGs → WebP (quality 85)
|
||||
bun scripts/convert-images.mjs
|
||||
|
||||
# Regenerate blur placeholders for all images
|
||||
bun scripts/gen-blur-placeholders.mjs
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Localisation
|
||||
|
||||
Translation files live in `translations/et.json` and `translations/en.json`.
|
||||
Routing is handled by `src/proxy.ts` — `/` redirects to `/et` (default locale).
|
||||
bun test # Run tests (if configured)
|
||||
bun run lint # Run linter (if configured)
|
||||
|
||||
21
components.json
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"$schema": "https://ui.shadcn.com/schema.json",
|
||||
"style": "new-york",
|
||||
"rsc": true,
|
||||
"tsx": true,
|
||||
"tailwind": {
|
||||
"config": "",
|
||||
"css": "src/app/globals.css",
|
||||
"baseColor": "neutral",
|
||||
"cssVariables": true,
|
||||
"prefix": ""
|
||||
},
|
||||
"aliases": {
|
||||
"components": "@/components",
|
||||
"utils": "@/lib/utils",
|
||||
"ui": "@/components/ui",
|
||||
"lib": "@/lib",
|
||||
"hooks": "@/hooks"
|
||||
},
|
||||
"iconLibrary": "lucide"
|
||||
}
|
||||
55
docs/SETUP.md
Normal file
@@ -0,0 +1,55 @@
|
||||
# Setup
|
||||
|
||||
## Prerequisites
|
||||
- Git
|
||||
- Bun
|
||||
- If on Windows, it's recommended to use WSL (Windows Subsystem for Linux) and do the following steps there.
|
||||
|
||||
## Installation
|
||||
|
||||
1. Clone the repository:
|
||||
```bash
|
||||
git clone https://github.com/Lapikud/tipilan.git
|
||||
```
|
||||
2. Install bun:
|
||||
```bash
|
||||
curl -fsSL https://bun.sh/install | bash
|
||||
```
|
||||
3. Install dependencies:
|
||||
```bash
|
||||
cd tipilan
|
||||
bun install
|
||||
```
|
||||
4. Run the application:
|
||||
```bash
|
||||
bun --bun run dev
|
||||
```
|
||||
|
||||
(ONLY FOR PRODUCTION!!) Build the application:
|
||||
```bash
|
||||
bun --bun run build
|
||||
```
|
||||
## Accessing the Application
|
||||
- The application is now running at `http://localhost:3000`.
|
||||
|
||||
## Git branch
|
||||
- The current production branch is `main`.
|
||||
- Please make sure you make changes in your branch before creating a pull request.
|
||||
### Making git branch
|
||||
- Create a new branch:
|
||||
```bash
|
||||
git checkout -b <branch-name>
|
||||
```
|
||||
- Commit your changes:
|
||||
```bash
|
||||
git add .
|
||||
git commit -m "<commit-message>"
|
||||
```
|
||||
- Push your branch:
|
||||
```bash
|
||||
git push origin <branch-name>
|
||||
```
|
||||
- Create a pull request:
|
||||
Go to Github,
|
||||
open up this project's repository and make a new pull request.
|
||||
```
|
||||
10
drizzle.config.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import { defineConfig } from "drizzle-kit";
|
||||
|
||||
export default defineConfig({
|
||||
schema: "./src/db/schema/schema.ts",
|
||||
out: "./migrations",
|
||||
dialect: "sqlite",
|
||||
dbCredentials: {
|
||||
url: "data/tipilan.db",
|
||||
},
|
||||
});
|
||||
43
migrations/0000_awesome_wendigo.sql
Normal file
@@ -0,0 +1,43 @@
|
||||
CREATE TABLE `member` (
|
||||
`id` text PRIMARY KEY NOT NULL,
|
||||
`user_id` text NOT NULL,
|
||||
`team_id` text,
|
||||
`role` text NOT NULL,
|
||||
FOREIGN KEY (`user_id`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE cascade,
|
||||
FOREIGN KEY (`team_id`) REFERENCES `team`(`id`) ON UPDATE no action ON DELETE cascade
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX `user_team_unique` ON `member` (`user_id`,`team_id`);--> statement-breakpoint
|
||||
CREATE TABLE `team` (
|
||||
`id` text PRIMARY KEY NOT NULL,
|
||||
`name` text NOT NULL
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE TABLE `tournament_team` (
|
||||
`id` text PRIMARY KEY NOT NULL,
|
||||
`tournament_id` text NOT NULL,
|
||||
`team_id` text NOT NULL,
|
||||
`registration_date` integer NOT NULL,
|
||||
FOREIGN KEY (`tournament_id`) REFERENCES `tournament`(`id`) ON UPDATE no action ON DELETE cascade,
|
||||
FOREIGN KEY (`team_id`) REFERENCES `team`(`id`) ON UPDATE no action ON DELETE cascade
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX `tournament_team_unique` ON `tournament_team` (`tournament_id`,`team_id`);--> statement-breakpoint
|
||||
CREATE TABLE `tournament` (
|
||||
`id` text PRIMARY KEY NOT NULL,
|
||||
`name` text NOT NULL
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE TABLE `user` (
|
||||
`id` text PRIMARY KEY NOT NULL,
|
||||
`email` text NOT NULL,
|
||||
`steam_id` text,
|
||||
`first_name` text NOT NULL,
|
||||
`last_name` text NOT NULL,
|
||||
`ticket_id` text,
|
||||
`ticket_type` text
|
||||
);
|
||||
--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX `user_email_unique` ON `user` (`email`);--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX `user_steam_id_unique` ON `user` (`steam_id`);--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX `user_ticket_id_unique` ON `user` (`ticket_id`);
|
||||
1
migrations/0001_cool_ma_gnuci.sql
Normal file
@@ -0,0 +1 @@
|
||||
DROP INDEX `user_email_unique`;
|
||||
1
migrations/0002_real_korath.sql
Normal file
@@ -0,0 +1 @@
|
||||
DROP INDEX `user_steam_id_unique`;
|
||||
295
migrations/meta/0000_snapshot.json
Normal file
@@ -0,0 +1,295 @@
|
||||
{
|
||||
"version": "6",
|
||||
"dialect": "sqlite",
|
||||
"id": "efe4e865-a061-4ab0-8023-5211e6d86e14",
|
||||
"prevId": "00000000-0000-0000-0000-000000000000",
|
||||
"tables": {
|
||||
"member": {
|
||||
"name": "member",
|
||||
"columns": {
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "text",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
},
|
||||
"user_id": {
|
||||
"name": "user_id",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
},
|
||||
"team_id": {
|
||||
"name": "team_id",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false,
|
||||
"autoincrement": false
|
||||
},
|
||||
"role": {
|
||||
"name": "role",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
}
|
||||
},
|
||||
"indexes": {
|
||||
"user_team_unique": {
|
||||
"name": "user_team_unique",
|
||||
"columns": [
|
||||
"user_id",
|
||||
"team_id"
|
||||
],
|
||||
"isUnique": true
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
"member_user_id_user_id_fk": {
|
||||
"name": "member_user_id_user_id_fk",
|
||||
"tableFrom": "member",
|
||||
"tableTo": "user",
|
||||
"columnsFrom": [
|
||||
"user_id"
|
||||
],
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
},
|
||||
"member_team_id_team_id_fk": {
|
||||
"name": "member_team_id_team_id_fk",
|
||||
"tableFrom": "member",
|
||||
"tableTo": "team",
|
||||
"columnsFrom": [
|
||||
"team_id"
|
||||
],
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {},
|
||||
"checkConstraints": {}
|
||||
},
|
||||
"team": {
|
||||
"name": "team",
|
||||
"columns": {
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "text",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
},
|
||||
"name": {
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {},
|
||||
"checkConstraints": {}
|
||||
},
|
||||
"tournament_team": {
|
||||
"name": "tournament_team",
|
||||
"columns": {
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "text",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
},
|
||||
"tournament_id": {
|
||||
"name": "tournament_id",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
},
|
||||
"team_id": {
|
||||
"name": "team_id",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
},
|
||||
"registration_date": {
|
||||
"name": "registration_date",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
}
|
||||
},
|
||||
"indexes": {
|
||||
"tournament_team_unique": {
|
||||
"name": "tournament_team_unique",
|
||||
"columns": [
|
||||
"tournament_id",
|
||||
"team_id"
|
||||
],
|
||||
"isUnique": true
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
"tournament_team_tournament_id_tournament_id_fk": {
|
||||
"name": "tournament_team_tournament_id_tournament_id_fk",
|
||||
"tableFrom": "tournament_team",
|
||||
"tableTo": "tournament",
|
||||
"columnsFrom": [
|
||||
"tournament_id"
|
||||
],
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
},
|
||||
"tournament_team_team_id_team_id_fk": {
|
||||
"name": "tournament_team_team_id_team_id_fk",
|
||||
"tableFrom": "tournament_team",
|
||||
"tableTo": "team",
|
||||
"columnsFrom": [
|
||||
"team_id"
|
||||
],
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {},
|
||||
"checkConstraints": {}
|
||||
},
|
||||
"tournament": {
|
||||
"name": "tournament",
|
||||
"columns": {
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "text",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
},
|
||||
"name": {
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {},
|
||||
"checkConstraints": {}
|
||||
},
|
||||
"user": {
|
||||
"name": "user",
|
||||
"columns": {
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "text",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
},
|
||||
"email": {
|
||||
"name": "email",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
},
|
||||
"steam_id": {
|
||||
"name": "steam_id",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false,
|
||||
"autoincrement": false
|
||||
},
|
||||
"first_name": {
|
||||
"name": "first_name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
},
|
||||
"last_name": {
|
||||
"name": "last_name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
},
|
||||
"ticket_id": {
|
||||
"name": "ticket_id",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false,
|
||||
"autoincrement": false
|
||||
},
|
||||
"ticket_type": {
|
||||
"name": "ticket_type",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false,
|
||||
"autoincrement": false
|
||||
}
|
||||
},
|
||||
"indexes": {
|
||||
"user_email_unique": {
|
||||
"name": "user_email_unique",
|
||||
"columns": [
|
||||
"email"
|
||||
],
|
||||
"isUnique": true
|
||||
},
|
||||
"user_steam_id_unique": {
|
||||
"name": "user_steam_id_unique",
|
||||
"columns": [
|
||||
"steam_id"
|
||||
],
|
||||
"isUnique": true
|
||||
},
|
||||
"user_ticket_id_unique": {
|
||||
"name": "user_ticket_id_unique",
|
||||
"columns": [
|
||||
"ticket_id"
|
||||
],
|
||||
"isUnique": true
|
||||
}
|
||||
},
|
||||
"foreignKeys": {},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {},
|
||||
"checkConstraints": {}
|
||||
}
|
||||
},
|
||||
"views": {},
|
||||
"enums": {},
|
||||
"_meta": {
|
||||
"schemas": {},
|
||||
"tables": {},
|
||||
"columns": {}
|
||||
},
|
||||
"internal": {
|
||||
"indexes": {}
|
||||
}
|
||||
}
|
||||
288
migrations/meta/0001_snapshot.json
Normal file
@@ -0,0 +1,288 @@
|
||||
{
|
||||
"version": "6",
|
||||
"dialect": "sqlite",
|
||||
"id": "eae7a237-8469-4a6a-acac-1910adfc98ff",
|
||||
"prevId": "efe4e865-a061-4ab0-8023-5211e6d86e14",
|
||||
"tables": {
|
||||
"member": {
|
||||
"name": "member",
|
||||
"columns": {
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "text",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
},
|
||||
"user_id": {
|
||||
"name": "user_id",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
},
|
||||
"team_id": {
|
||||
"name": "team_id",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false,
|
||||
"autoincrement": false
|
||||
},
|
||||
"role": {
|
||||
"name": "role",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
}
|
||||
},
|
||||
"indexes": {
|
||||
"user_team_unique": {
|
||||
"name": "user_team_unique",
|
||||
"columns": [
|
||||
"user_id",
|
||||
"team_id"
|
||||
],
|
||||
"isUnique": true
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
"member_user_id_user_id_fk": {
|
||||
"name": "member_user_id_user_id_fk",
|
||||
"tableFrom": "member",
|
||||
"tableTo": "user",
|
||||
"columnsFrom": [
|
||||
"user_id"
|
||||
],
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
},
|
||||
"member_team_id_team_id_fk": {
|
||||
"name": "member_team_id_team_id_fk",
|
||||
"tableFrom": "member",
|
||||
"tableTo": "team",
|
||||
"columnsFrom": [
|
||||
"team_id"
|
||||
],
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {},
|
||||
"checkConstraints": {}
|
||||
},
|
||||
"team": {
|
||||
"name": "team",
|
||||
"columns": {
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "text",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
},
|
||||
"name": {
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {},
|
||||
"checkConstraints": {}
|
||||
},
|
||||
"tournament_team": {
|
||||
"name": "tournament_team",
|
||||
"columns": {
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "text",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
},
|
||||
"tournament_id": {
|
||||
"name": "tournament_id",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
},
|
||||
"team_id": {
|
||||
"name": "team_id",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
},
|
||||
"registration_date": {
|
||||
"name": "registration_date",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
}
|
||||
},
|
||||
"indexes": {
|
||||
"tournament_team_unique": {
|
||||
"name": "tournament_team_unique",
|
||||
"columns": [
|
||||
"tournament_id",
|
||||
"team_id"
|
||||
],
|
||||
"isUnique": true
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
"tournament_team_tournament_id_tournament_id_fk": {
|
||||
"name": "tournament_team_tournament_id_tournament_id_fk",
|
||||
"tableFrom": "tournament_team",
|
||||
"tableTo": "tournament",
|
||||
"columnsFrom": [
|
||||
"tournament_id"
|
||||
],
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
},
|
||||
"tournament_team_team_id_team_id_fk": {
|
||||
"name": "tournament_team_team_id_team_id_fk",
|
||||
"tableFrom": "tournament_team",
|
||||
"tableTo": "team",
|
||||
"columnsFrom": [
|
||||
"team_id"
|
||||
],
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {},
|
||||
"checkConstraints": {}
|
||||
},
|
||||
"tournament": {
|
||||
"name": "tournament",
|
||||
"columns": {
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "text",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
},
|
||||
"name": {
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {},
|
||||
"checkConstraints": {}
|
||||
},
|
||||
"user": {
|
||||
"name": "user",
|
||||
"columns": {
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "text",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
},
|
||||
"email": {
|
||||
"name": "email",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
},
|
||||
"steam_id": {
|
||||
"name": "steam_id",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false,
|
||||
"autoincrement": false
|
||||
},
|
||||
"first_name": {
|
||||
"name": "first_name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
},
|
||||
"last_name": {
|
||||
"name": "last_name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
},
|
||||
"ticket_id": {
|
||||
"name": "ticket_id",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false,
|
||||
"autoincrement": false
|
||||
},
|
||||
"ticket_type": {
|
||||
"name": "ticket_type",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false,
|
||||
"autoincrement": false
|
||||
}
|
||||
},
|
||||
"indexes": {
|
||||
"user_steam_id_unique": {
|
||||
"name": "user_steam_id_unique",
|
||||
"columns": [
|
||||
"steam_id"
|
||||
],
|
||||
"isUnique": true
|
||||
},
|
||||
"user_ticket_id_unique": {
|
||||
"name": "user_ticket_id_unique",
|
||||
"columns": [
|
||||
"ticket_id"
|
||||
],
|
||||
"isUnique": true
|
||||
}
|
||||
},
|
||||
"foreignKeys": {},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {},
|
||||
"checkConstraints": {}
|
||||
}
|
||||
},
|
||||
"views": {},
|
||||
"enums": {},
|
||||
"_meta": {
|
||||
"schemas": {},
|
||||
"tables": {},
|
||||
"columns": {}
|
||||
},
|
||||
"internal": {
|
||||
"indexes": {}
|
||||
}
|
||||
}
|
||||
281
migrations/meta/0002_snapshot.json
Normal file
@@ -0,0 +1,281 @@
|
||||
{
|
||||
"version": "6",
|
||||
"dialect": "sqlite",
|
||||
"id": "5d600618-0105-4104-b150-c63015ae55c7",
|
||||
"prevId": "eae7a237-8469-4a6a-acac-1910adfc98ff",
|
||||
"tables": {
|
||||
"user": {
|
||||
"name": "user",
|
||||
"columns": {
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "text",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
},
|
||||
"email": {
|
||||
"name": "email",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
},
|
||||
"steam_id": {
|
||||
"name": "steam_id",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false,
|
||||
"autoincrement": false
|
||||
},
|
||||
"first_name": {
|
||||
"name": "first_name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
},
|
||||
"last_name": {
|
||||
"name": "last_name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
},
|
||||
"ticket_id": {
|
||||
"name": "ticket_id",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false,
|
||||
"autoincrement": false
|
||||
},
|
||||
"ticket_type": {
|
||||
"name": "ticket_type",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false,
|
||||
"autoincrement": false
|
||||
}
|
||||
},
|
||||
"indexes": {
|
||||
"user_ticket_id_unique": {
|
||||
"name": "user_ticket_id_unique",
|
||||
"columns": [
|
||||
"ticket_id"
|
||||
],
|
||||
"isUnique": true
|
||||
}
|
||||
},
|
||||
"foreignKeys": {},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {},
|
||||
"checkConstraints": {}
|
||||
},
|
||||
"team": {
|
||||
"name": "team",
|
||||
"columns": {
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "text",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
},
|
||||
"name": {
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {},
|
||||
"checkConstraints": {}
|
||||
},
|
||||
"member": {
|
||||
"name": "member",
|
||||
"columns": {
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "text",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
},
|
||||
"user_id": {
|
||||
"name": "user_id",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
},
|
||||
"team_id": {
|
||||
"name": "team_id",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": false,
|
||||
"autoincrement": false
|
||||
},
|
||||
"role": {
|
||||
"name": "role",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
}
|
||||
},
|
||||
"indexes": {
|
||||
"user_team_unique": {
|
||||
"name": "user_team_unique",
|
||||
"columns": [
|
||||
"user_id",
|
||||
"team_id"
|
||||
],
|
||||
"isUnique": true
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
"member_user_id_user_id_fk": {
|
||||
"name": "member_user_id_user_id_fk",
|
||||
"tableFrom": "member",
|
||||
"tableTo": "user",
|
||||
"columnsFrom": [
|
||||
"user_id"
|
||||
],
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
},
|
||||
"member_team_id_team_id_fk": {
|
||||
"name": "member_team_id_team_id_fk",
|
||||
"tableFrom": "member",
|
||||
"tableTo": "team",
|
||||
"columnsFrom": [
|
||||
"team_id"
|
||||
],
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {},
|
||||
"checkConstraints": {}
|
||||
},
|
||||
"tournament_team": {
|
||||
"name": "tournament_team",
|
||||
"columns": {
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "text",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
},
|
||||
"tournament_id": {
|
||||
"name": "tournament_id",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
},
|
||||
"team_id": {
|
||||
"name": "team_id",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
},
|
||||
"registration_date": {
|
||||
"name": "registration_date",
|
||||
"type": "integer",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
}
|
||||
},
|
||||
"indexes": {
|
||||
"tournament_team_unique": {
|
||||
"name": "tournament_team_unique",
|
||||
"columns": [
|
||||
"tournament_id",
|
||||
"team_id"
|
||||
],
|
||||
"isUnique": true
|
||||
}
|
||||
},
|
||||
"foreignKeys": {
|
||||
"tournament_team_tournament_id_tournament_id_fk": {
|
||||
"name": "tournament_team_tournament_id_tournament_id_fk",
|
||||
"tableFrom": "tournament_team",
|
||||
"tableTo": "tournament",
|
||||
"columnsFrom": [
|
||||
"tournament_id"
|
||||
],
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
},
|
||||
"tournament_team_team_id_team_id_fk": {
|
||||
"name": "tournament_team_team_id_team_id_fk",
|
||||
"tableFrom": "tournament_team",
|
||||
"tableTo": "team",
|
||||
"columnsFrom": [
|
||||
"team_id"
|
||||
],
|
||||
"columnsTo": [
|
||||
"id"
|
||||
],
|
||||
"onDelete": "cascade",
|
||||
"onUpdate": "no action"
|
||||
}
|
||||
},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {},
|
||||
"checkConstraints": {}
|
||||
},
|
||||
"tournament": {
|
||||
"name": "tournament",
|
||||
"columns": {
|
||||
"id": {
|
||||
"name": "id",
|
||||
"type": "text",
|
||||
"primaryKey": true,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
},
|
||||
"name": {
|
||||
"name": "name",
|
||||
"type": "text",
|
||||
"primaryKey": false,
|
||||
"notNull": true,
|
||||
"autoincrement": false
|
||||
}
|
||||
},
|
||||
"indexes": {},
|
||||
"foreignKeys": {},
|
||||
"compositePrimaryKeys": {},
|
||||
"uniqueConstraints": {},
|
||||
"checkConstraints": {}
|
||||
}
|
||||
},
|
||||
"views": {},
|
||||
"enums": {},
|
||||
"_meta": {
|
||||
"schemas": {},
|
||||
"tables": {},
|
||||
"columns": {}
|
||||
},
|
||||
"internal": {
|
||||
"indexes": {}
|
||||
}
|
||||
}
|
||||
27
migrations/meta/_journal.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"version": "7",
|
||||
"dialect": "sqlite",
|
||||
"entries": [
|
||||
{
|
||||
"idx": 0,
|
||||
"version": "6",
|
||||
"when": 1751642215588,
|
||||
"tag": "0000_awesome_wendigo",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 1,
|
||||
"version": "6",
|
||||
"when": 1752632968857,
|
||||
"tag": "0001_cool_ma_gnuci",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 2,
|
||||
"version": "6",
|
||||
"when": 1754400044471,
|
||||
"tag": "0002_real_korath",
|
||||
"breakpoints": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -4,9 +4,24 @@ import createNextIntlPlugin from "next-intl/plugin";
|
||||
const withNextIntl = createNextIntlPlugin("./src/i18n/request.ts");
|
||||
|
||||
const nextConfig: NextConfig = {
|
||||
images: {
|
||||
qualities: [75, 90],
|
||||
},
|
||||
async headers() {
|
||||
return [
|
||||
{
|
||||
source: "/(.*)",
|
||||
headers: [
|
||||
{
|
||||
key: "Content-Security-Policy",
|
||||
value:
|
||||
"frame-src 'self' https://tipilan.ee https://player.twitch.tv https://embed.twitch.tv; frame-ancestors 'self' https://tipilan.ee;",
|
||||
},
|
||||
{
|
||||
key: "X-Frame-Options",
|
||||
value: "SAMEORIGIN",
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
},
|
||||
};
|
||||
|
||||
export default withNextIntl(nextConfig);
|
||||
|
||||
10386
package-lock.json
generated
Normal file
58
package.json
@@ -10,25 +10,51 @@
|
||||
"build": "next build",
|
||||
"start": "next start",
|
||||
"lint": "next lint",
|
||||
"lint:fix": "next lint --fix"
|
||||
"drizzle:generate": "drizzle-kit generate:sqlite",
|
||||
"drizzle:push": "drizzle-kit push:sqlite",
|
||||
"drizzle:studio": "drizzle-kit studio"
|
||||
},
|
||||
"dependencies": {
|
||||
"next": "^16.2.1",
|
||||
"next-intl": "^4.3.9",
|
||||
"react": "^19.2.4",
|
||||
"react-dom": "^19.2.4",
|
||||
"react-icons": "^5.5.0"
|
||||
"@libsql/client": "^0.15.15",
|
||||
"@paralleldrive/cuid2": "^2.3.1",
|
||||
"@radix-ui/react-alert-dialog": "^1.1.15",
|
||||
"@radix-ui/react-dropdown-menu": "^2.1.16",
|
||||
"@radix-ui/react-select": "^2.2.6",
|
||||
"@radix-ui/react-slot": "^1.2.4",
|
||||
"@radix-ui/react-tooltip": "^1.2.8",
|
||||
"@tanstack/react-table": "^8.21.3",
|
||||
"@types/three": "^0.178.1",
|
||||
"class-variance-authority": "^0.7.1",
|
||||
"clsx": "^2.1.1",
|
||||
"drizzle-orm": "^0.44.7",
|
||||
"lucide-react": "^0.522.0",
|
||||
"material-symbols": "^0.31.9",
|
||||
"next": "15.3.0",
|
||||
"next-intl": "^4.11.0",
|
||||
"next-themes": "^0.4.6",
|
||||
"react": "^19.2.5",
|
||||
"react-dom": "^19.2.5",
|
||||
"react-icons": "^5.6.0",
|
||||
"react-markdown": "^10.1.0",
|
||||
"tailwind-merge": "^3.5.0",
|
||||
"three": "^0.178.0",
|
||||
"tw-animate-css": "^1.4.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/eslintrc": "^3.3.1",
|
||||
"@tailwindcss/postcss": "^4.1.13",
|
||||
"@types/node": "^22.15.0",
|
||||
"@types/react": "^19.1.13",
|
||||
"@types/react-dom": "^19.1.9",
|
||||
"eslint": "^9.36.0",
|
||||
"eslint-config-next": "^15.3.3",
|
||||
"postcss": "^8.5.6",
|
||||
"tailwindcss": "^4.1.13",
|
||||
"typescript": "^5.9.2"
|
||||
"@eslint/eslintrc": "^3.3.5",
|
||||
"@tailwindcss/postcss": "^4.2.4",
|
||||
"@types/bun": "^1.3.13",
|
||||
"@types/node": "^20.19.39",
|
||||
"@types/react": "^19.2.14",
|
||||
"@types/react-dom": "^19.2.3",
|
||||
"autoprefixer": "^10.5.0",
|
||||
"dotenv": "^16.6.1",
|
||||
"drizzle-kit": "^0.31.10",
|
||||
"eslint": "^9.39.4",
|
||||
"eslint-config-next": "15.3.0",
|
||||
"postcss": "^8.5.13",
|
||||
"tailwindcss": "^4.2.4",
|
||||
"ts-node": "^10.9.2",
|
||||
"typescript": "^5.9.3"
|
||||
}
|
||||
}
|
||||
|
||||
5928
pnpm-lock.yaml
generated
Normal file
1
public/file.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg fill="none" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M14.5 13.5V5.41a1 1 0 0 0-.3-.7L9.8.29A1 1 0 0 0 9.08 0H1.5v13.5A2.5 2.5 0 0 0 4 16h8a2.5 2.5 0 0 0 2.5-2.5m-1.5 0v-7H8v-5H3v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1M9.5 5V2.12L12.38 5zM5.13 5h-.62v1.25h2.12V5zm-.62 3h7.12v1.25H4.5zm.62 3h-.62v1.25h7.12V11z" clip-rule="evenodd" fill="#666" fill-rule="evenodd"/></svg>
|
||||
|
After Width: | Height: | Size: 391 B |
6
public/flags/eng.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M0 9.93346V14.4808H6.25333L0 9.93346ZM5.18222 35.25H14.4444V28.515L5.18222 35.25ZM25.5556 28.5162V35.25H34.8167L25.5556 28.5162ZM0 26.0192V30.5665L6.25556 26.0192H0ZM34.8189 5.25H25.5556V11.985L34.8189 5.25ZM40 30.5677V26.0192H33.7433L40 30.5677ZM40 14.4808V9.93346L33.7456 14.4808H40ZM14.4444 5.25H5.18222L14.4444 11.985V5.25Z" fill="#00247D"/>
|
||||
<path d="M27.9332 26.0196L38.7243 33.8669C39.2513 33.3031 39.6301 32.6083 39.8243 31.8489L31.8076 26.0196H27.9332ZM14.4443 26.0196H12.0654L1.27543 33.8658C1.85432 34.4773 2.59654 34.9146 3.42876 35.1177L14.4443 27.1077V26.0196ZM25.5554 14.4812H27.9343L38.7243 6.63503C38.1355 6.01457 37.3891 5.58044 36.5721 5.3831L25.5554 13.3931V14.4812ZM12.0654 14.4812L1.27543 6.63503C0.748709 7.19923 0.369666 7.89392 0.174316 8.6531L8.19098 14.4812H12.0654Z" fill="#C8102E"/>
|
||||
<path d="M40 23.7115H23.3333V35.25H25.5556V28.5162L34.8167 35.25H35.5556C36.1458 35.2501 36.7302 35.1278 37.2744 34.8902C37.8185 34.6526 38.3114 34.305 38.7243 33.8669L27.9332 26.0196H31.8076L39.8243 31.8489C39.9276 31.46 40 31.0569 40 30.6346V30.5677L33.7433 26.0192H40V23.7115ZM0 23.7115V26.0192H6.25556L0 30.5665V30.6346C0 31.8935 0.48765 33.0327 1.27543 33.8658L12.0654 26.0196H14.4443V27.1077L3.42889 35.1162C3.75556 35.1969 4.09333 35.25 4.44444 35.25H5.18222L14.4444 28.515V35.25H16.6667V23.7115H0ZM40 9.86539C40.0007 8.65613 39.5422 7.49574 38.7243 6.63503L27.9343 14.4812H25.5554V13.3931L36.5721 5.3831C36.2393 5.29833 35.8982 5.25339 35.5556 5.25L34.8189 5.25L25.5556 11.985V5.25L23.3333 5.25V16.7885H40V14.4808H33.7456L40 9.93346V9.86539ZM14.4444 5.25V11.985L5.18222 5.25L4.44444 5.25C3.85403 5.24973 3.26952 5.37209 2.72531 5.60988C2.1811 5.84767 1.68805 6.19649 1.27543 6.63503L12.0654 14.4812H8.19098L0.174316 8.6531C0.0640721 9.04738 0.00552601 9.45486 0 9.86539V9.93346L6.25333 14.4808H0V16.7885H16.6667V5.25L14.4444 5.25Z" fill="white"/>
|
||||
<path d="M23.3333 16.7885V5.25H16.6667V16.7885H0V23.7115H16.6667V35.25H23.3333V23.7115H40V16.7885H23.3333Z" fill="#C8102E"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
5
public/flags/est.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M35.5556 5.25H4.44444C3.2657 5.25 2.13524 5.71825 1.30175 6.55175C0.468253 7.38524 0 8.5157 0 9.69444V15.25H40V9.69444C40 8.5157 39.5317 7.38524 38.6983 6.55175C37.8648 5.71825 36.7343 5.25 35.5556 5.25Z" fill="#0072CE"/>
|
||||
<path d="M0 15.25H40V25.25H0V15.25Z" fill="black"/>
|
||||
<path d="M35.5556 35.25H4.44444C3.2657 35.25 2.13524 34.7232 1.30175 33.7855C0.468253 32.8479 0 31.5761 0 30.25V25.25H40V30.25C40 31.5761 39.5317 32.8479 38.6983 33.7855C37.8648 34.7232 36.7343 35.25 35.5556 35.25Z" fill="white"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 617 B |
1
public/globe.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><g clip-path="url(#a)"><path fill-rule="evenodd" clip-rule="evenodd" d="M10.27 14.1a6.5 6.5 0 0 0 3.67-3.45q-1.24.21-2.7.34-.31 1.83-.97 3.1M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16m.48-1.52a7 7 0 0 1-.96 0H7.5a4 4 0 0 1-.84-1.32q-.38-.89-.63-2.08a40 40 0 0 0 3.92 0q-.25 1.2-.63 2.08a4 4 0 0 1-.84 1.31zm2.94-4.76q1.66-.15 2.95-.43a7 7 0 0 0 0-2.58q-1.3-.27-2.95-.43a18 18 0 0 1 0 3.44m-1.27-3.54a17 17 0 0 1 0 3.64 39 39 0 0 1-4.3 0 17 17 0 0 1 0-3.64 39 39 0 0 1 4.3 0m1.1-1.17q1.45.13 2.69.34a6.5 6.5 0 0 0-3.67-3.44q.65 1.26.98 3.1M8.48 1.5l.01.02q.41.37.84 1.31.38.89.63 2.08a40 40 0 0 0-3.92 0q.25-1.2.63-2.08a4 4 0 0 1 .85-1.32 7 7 0 0 1 .96 0m-2.75.4a6.5 6.5 0 0 0-3.67 3.44 29 29 0 0 1 2.7-.34q.31-1.83.97-3.1M4.58 6.28q-1.66.16-2.95.43a7 7 0 0 0 0 2.58q1.3.27 2.95.43a18 18 0 0 1 0-3.44m.17 4.71q-1.45-.12-2.69-.34a6.5 6.5 0 0 0 3.67 3.44q-.65-1.27-.98-3.1" fill="#666"/></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h16v16H0z"/></clipPath></defs></svg>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
BIN
public/images/EXPO/GameDev logos/Cyber_Doc_Rogue.png
Normal file
|
After Width: | Height: | Size: 126 KiB |
50
public/images/EXPO/GameDev logos/DELUSIONAL_logo.svg
Normal file
@@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080">
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1 {
|
||||
fill: #ff343a;
|
||||
}
|
||||
|
||||
.cls-2 {
|
||||
fill: #00ff50;
|
||||
}
|
||||
|
||||
.cls-3 {
|
||||
fill: #ff3398;
|
||||
}
|
||||
|
||||
.cls-4 {
|
||||
fill: #0284ff;
|
||||
}
|
||||
|
||||
.cls-5 {
|
||||
fill: #ffc703;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<g>
|
||||
<path class="cls-5" d="M147.26,50.24h-46.56c-29.7,0-53.78,24.08-53.78,53.78v322.66c0,29.7,24.08,53.78,53.78,53.78h46.56c118.61,0,215.11-96.5,215.11-215.11S265.87,50.24,147.26,50.24ZM154.48,372.67v-214.63c55.95,3.73,100.34,50.43,100.34,107.31s-44.38,103.59-100.34,107.31Z"/>
|
||||
<path class="cls-4" d="M1424.13,50.24c-29.7,0-53.78,24.08-53.78,53.78v218.47c0,27.8-22.62,50.42-50.42,50.42s-50.42-22.62-50.42-50.42V104.02c0-29.7-24.08-53.78-53.78-53.78s-53.78,24.08-53.78,53.78v218.47c0,87.1,70.86,157.97,157.97,157.97s157.97-70.87,157.97-157.97V104.02c0-29.7-24.08-53.78-53.78-53.78Z"/>
|
||||
<path class="cls-3" d="M666.67,157.8c29.7,0,53.78-24.08,53.78-53.78s-24.08-53.78-53.78-53.78h-174.78c-29.7,0-53.78,24.08-53.78,53.78v322.66c0,29.7,24.08,53.78,53.78,53.78h174.78c29.7,0,53.78-24.08,53.78-53.78s-24.08-53.78-53.78-53.78h-121v-53.78h121c29.7,0,53.78-24.08,53.78-53.78s-24.08-53.78-53.78-53.78h-121v-53.78h121Z"/>
|
||||
<path class="cls-2" d="M100.71,599.52c-29.7,0-53.78,24.08-53.78,53.78v322.66c0,29.7,24.08,53.78,53.78,53.78s53.78-24.08,53.78-53.78v-322.66c0-29.7-24.08-53.78-53.78-53.78Z"/>
|
||||
<path class="cls-2" d="M1064.09,372.91h-154.61V104.02c0-29.7-24.08-53.78-53.78-53.78s-53.78,24.08-53.78,53.78v322.66c0,29.7,24.08,53.78,53.78,53.78h208.39c29.7,0,53.78-24.08,53.78-53.78s-24.08-53.78-53.78-53.78Z"/>
|
||||
<path class="cls-1" d="M1819.29,922.19h-154.61v-268.88c0-29.7-24.08-53.78-53.78-53.78s-53.78,24.08-53.78,53.78v322.66c0,29.7,24.08,53.78,53.78,53.78h208.39c29.7,0,53.78-24.08,53.78-53.78s-24.08-53.78-53.78-53.78Z"/>
|
||||
<path class="cls-5" d="M1353.21,634.4c-7.86-20.95-27.86-34.84-50.23-34.89h-.12c-22.32,0-42.33,13.79-50.26,34.67l-122.68,322.66c-10.55,27.76,3.39,58.82,31.16,69.38,27.76,10.56,58.82-3.39,69.38-31.15l72.07-189.54,70.99,189.31c8.1,21.59,28.59,34.91,50.36,34.91,6.27,0,12.65-1.11,18.87-3.44,27.81-10.43,41.9-41.43,31.47-69.23l-121-322.66Z"/>
|
||||
<path class="cls-4" d="M993.75,599.52c-29.7,0-53.78,24.08-53.78,53.78v140.27l-109.43-169.45c-12.94-20.03-37.52-29.15-60.38-22.41-22.87,6.74-38.57,27.74-38.57,51.58v322.66c0,29.7,24.08,53.78,53.78,53.78s53.78-24.08,53.78-53.78v-140.27l109.43,169.45c10.09,15.62,27.26,24.61,45.18,24.61,5.06,0,10.17-.72,15.21-2.2,22.87-6.74,38.57-27.74,38.57-51.58v-322.66c0-29.7-24.08-53.78-53.78-53.78Z"/>
|
||||
<path class="cls-3" d="M1870.74,208.11c0-87.05-70.82-157.86-157.86-157.86-41.3,0-77.48,10.14-104.63,29.31-34.33,24.25-53.23,62.01-53.23,106.31,0,24.5,7.18,57.43,38.23,85.23-22.12,6.67-38.23,27.2-38.23,51.49,0,87.05,70.82,157.86,157.86,157.86,41.77,0,76.58-9.1,103.46-27.05,35.08-23.42,54.4-60.95,54.4-105.66,0-25.05-7.86-59.2-42.83-86.99,24.45-5.06,42.83-26.71,42.83-52.66ZM1712.88,372.91c-27.74,0-50.31-22.57-50.31-50.31,0-5.01-.69-9.86-1.97-14.46,12.7,4.54,25.66,8.47,38.43,12.34,18.06,5.48,35.12,10.65,48.33,16.68,11.18,5.1,15.06,9.2,15.06,12.77,0,16.85-25.7,22.97-49.55,22.97ZM1730.25,217.55c-22.59-6.85-45.67-14.41-59.79-22.57-5.1-2.95-7.89-7.91-7.89-13.44,0-7.07,3.82-11.37,7.74-14.14,8.64-6.1,24.15-9.6,42.57-9.6,27.74,0,50.31,22.57,50.31,50.31,0,7.62,1.58,14.87,4.44,21.43-12.35-4.39-24.96-8.22-37.38-11.98Z"/>
|
||||
<path class="cls-1" d="M442.11,599.52c-118.61,0-215.11,96.5-215.11,215.11s96.5,215.11,215.11,215.11,215.11-96.5,215.11-215.11-96.5-215.11-215.11-215.11ZM442.11,922.18c-59.31,0-107.55-48.25-107.55-107.55s48.25-107.55,107.55-107.55,107.55,48.25,107.55,107.55-48.25,107.55-107.55,107.55Z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path d="M147.27,493.9h-46.56c-37.07,0-67.22-30.15-67.22-67.22V104.02c0-37.07,30.15-67.22,67.22-67.22h46.56c126.02,0,228.55,102.53,228.55,228.55s-102.53,228.55-228.55,228.55ZM100.71,63.69c-22.24,0-40.33,18.09-40.33,40.33v322.66c0,22.24,18.09,40.33,40.33,40.33h46.56c111.2,0,201.66-90.47,201.66-201.66S258.46,63.69,147.27,63.69h-46.56ZM141.04,387.04v-243.37l14.34.96c63.3,4.21,112.89,57.24,112.89,120.73s-49.59,116.52-112.89,120.73l-14.34.96ZM167.93,173.53v183.65c42.17-9.48,73.45-47.36,73.45-91.83s-31.27-82.34-73.45-91.82Z"/>
|
||||
<path d="M1319.94,493.9c-94.52,0-171.41-76.9-171.41-171.42V104.02c0-37.07,30.15-67.22,67.22-67.22s67.22,30.15,67.22,67.22v218.47c0,20.39,16.58,36.97,36.97,36.97s36.97-16.59,36.97-36.97V104.02c0-37.07,30.15-67.22,67.22-67.22s67.22,30.15,67.22,67.22v218.47c0,94.52-76.9,171.42-171.42,171.42ZM1215.75,63.69c-22.24,0-40.33,18.09-40.33,40.33v218.47c0,79.69,64.83,144.53,144.52,144.53s144.53-64.83,144.53-144.53V104.02c0-22.24-18.09-40.33-40.33-40.33s-40.33,18.09-40.33,40.33v218.47c0,35.21-28.65,63.86-63.86,63.86s-63.86-28.65-63.86-63.86V104.02c0-22.24-18.09-40.33-40.33-40.33Z"/>
|
||||
<path d="M666.67,493.9h-174.78c-37.07,0-67.22-30.15-67.22-67.22V104.02c0-37.07,30.15-67.22,67.22-67.22h174.78c37.07,0,67.22,30.15,67.22,67.22s-30.15,67.22-67.22,67.22h-107.55v26.89h107.55c37.07,0,67.22,30.15,67.22,67.22s-30.15,67.22-67.22,67.22h-107.55v26.89h107.55c37.07,0,67.22,30.15,67.22,67.22s-30.15,67.22-67.22,67.22ZM491.9,63.69c-22.24,0-40.33,18.09-40.33,40.33v322.66c0,22.24,18.09,40.33,40.33,40.33h174.78c22.24,0,40.33-18.09,40.33-40.33s-18.09-40.33-40.33-40.33h-121c-7.42,0-13.44-6.02-13.44-13.44v-53.78c0-7.42,6.02-13.44,13.44-13.44h121c22.24,0,40.33-18.09,40.33-40.33s-18.09-40.33-40.33-40.33h-121c-7.42,0-13.44-6.02-13.44-13.44v-53.78c0-7.42,6.02-13.44,13.44-13.44h121c22.24,0,40.33-18.09,40.33-40.33s-18.09-40.33-40.33-40.33h-174.78Z"/>
|
||||
<path d="M100.71,1043.17c-37.07,0-67.22-30.15-67.22-67.22v-322.66c0-37.06,30.15-67.22,67.22-67.22s67.22,30.15,67.22,67.22v322.66c0,37.06-30.15,67.22-67.22,67.22ZM100.71,612.96c-22.24,0-40.33,18.09-40.33,40.33v322.66c0,22.24,18.09,40.33,40.33,40.33s40.33-18.09,40.33-40.33v-322.66c0-22.24-18.09-40.33-40.33-40.33Z"/>
|
||||
<path d="M1064.09,493.9h-208.38c-37.07,0-67.22-30.15-67.22-67.22V104.02c0-37.07,30.16-67.22,67.22-67.22s67.22,30.15,67.22,67.22v255.44h141.16c37.07,0,67.22,30.15,67.22,67.22s-30.15,67.22-67.22,67.22ZM855.71,63.69c-22.24,0-40.33,18.09-40.33,40.33v322.66c0,22.24,18.09,40.33,40.33,40.33h208.38c22.24,0,40.33-18.09,40.33-40.33s-18.09-40.33-40.33-40.33h-168.05V104.02c0-22.24-18.09-40.33-40.33-40.33Z"/>
|
||||
<path d="M1819.29,1043.18h-208.38c-37.07,0-67.22-30.15-67.22-67.22v-322.66c0-37.06,30.15-67.22,67.22-67.22s67.22,30.15,67.22,67.22v255.44h141.17c37.07,0,67.22,30.15,67.22,67.22s-30.15,67.22-67.22,67.22ZM1610.91,612.97c-22.24,0-40.33,18.09-40.33,40.33v322.66c0,22.24,18.09,40.33,40.33,40.33h208.38c22.24,0,40.33-18.09,40.33-40.33s-18.09-40.33-40.33-40.33h-154.61c-7.43,0-13.44-6.02-13.44-13.44v-268.89c0-22.24-18.09-40.33-40.33-40.33Z"/>
|
||||
<path d="M1180.2,1043.21c-8.07,0-16.15-1.47-23.91-4.42-16.78-6.38-30.08-18.92-37.43-35.3-7.36-16.38-7.9-34.64-1.51-51.43l122.68-322.66c9.85-25.92,35.1-43.33,62.83-43.33,27.95.07,53.18,17.59,62.94,43.62h0l121,322.66c6.31,16.81,5.69,35.07-1.75,51.42-7.43,16.35-20.78,28.82-37.59,35.13-7.6,2.85-15.54,4.29-23.59,4.29-27.87,0-53.16-17.53-62.95-43.63l-58.49-155.98-59.41,156.26c-6.38,16.78-18.92,30.08-35.3,37.43-8.8,3.95-18.15,5.93-27.51,5.93ZM1302.94,612.95c-16.73,0-31.88,10.45-37.79,26l-122.68,322.66c-3.83,10.07-3.51,21.03.91,30.86,4.42,9.83,12.39,17.35,22.46,21.18,10.06,3.83,21.02,3.51,30.85-.91,9.83-4.41,17.35-12.39,21.18-22.46l72.06-189.54c1.98-5.22,6.98-8.67,12.57-8.67h.03c5.59.01,10.6,3.49,12.56,8.72l70.99,189.32c5.87,15.66,21.06,26.18,37.77,26.18,4.82,0,9.58-.87,14.15-2.58,20.82-7.81,31.41-31.1,23.6-51.93l-120.99-322.66c-5.86-15.62-21-26.13-37.68-26.17Z"/>
|
||||
<path d="M993.76,1043.18c-22.92,0-44.03-11.5-56.47-30.75l-84.7-131.14v94.67c0,37.06-30.15,67.22-67.22,67.22s-67.22-30.15-67.22-67.22v-322.66c0-29.59,19.83-56.11,48.21-64.48,28.38-8.36,59.42,3.16,75.48,28.01l84.69,131.14v-94.67c0-37.06,30.15-67.22,67.22-67.22s67.22,30.15,67.22,67.22v322.66c0,29.59-19.83,56.11-48.21,64.48-6.18,1.82-12.58,2.74-19.01,2.74ZM839.14,822.24c4.48,0,8.77,2.25,11.29,6.15l109.44,169.45c7.46,11.56,20.13,18.46,33.88,18.46,3.86,0,7.69-.56,11.4-1.65,17.03-5.02,28.93-20.93,28.93-38.68v-322.66c0-22.24-18.09-40.33-40.33-40.33s-40.33,18.09-40.33,40.33v140.27c0,5.96-3.93,11.21-9.64,12.9-5.72,1.67-11.86-.6-15.1-5.6l-109.43-169.45c-9.63-14.92-28.26-21.85-45.29-16.81-17.03,5.02-28.92,20.93-28.92,38.68v322.66c0,22.24,18.09,40.33,40.33,40.33s40.33-18.09,40.33-40.33v-140.27c0-5.96,3.93-11.21,9.64-12.9,1.26-.37,2.54-.55,3.8-.55Z"/>
|
||||
<path d="M1712.88,493.9c-94.46,0-171.31-76.85-171.31-171.31,0-22.37,11.37-43.03,29.19-55.38-23.75-28.24-29.19-59.06-29.19-81.34,0-48.8,20.92-90.45,58.92-117.3,29.43-20.79,68.29-31.78,112.39-31.78,94.46,0,171.31,76.85,171.31,171.31,0,23.66-12.53,45.08-31.78,57.1,25.83,28.18,31.78,59.59,31.78,82.55,0,49.34-21.45,90.84-60.38,116.84-29.13,19.45-66.45,29.31-110.92,29.31ZM1712.88,63.69c-38.51,0-72.01,9.28-96.87,26.85-30.66,21.66-47.55,55.52-47.55,95.33,0,29.86,11.35,55.16,33.75,75.22,3.62,3.24,5.21,8.19,4.16,12.93s-4.59,8.55-9.24,9.95c-16.88,5.09-28.66,20.97-28.66,38.62,0,79.63,64.79,144.42,144.42,144.42,39.06,0,71.36-8.34,95.99-24.79,31.23-20.85,48.43-54.4,48.43-94.48,0-30.84-12.7-56.56-37.75-76.46-4.08-3.25-5.93-8.56-4.72-13.64,1.21-5.08,5.25-9,10.36-10.06,18.6-3.85,32.11-20.46,32.11-39.49,0-79.63-64.79-144.42-144.42-144.42ZM1712.88,386.35c-35.15,0-63.75-28.6-63.75-63.75,0-3.69-.49-7.34-1.47-10.86-1.35-4.84.11-10.03,3.79-13.45,3.68-3.42,8.96-4.51,13.69-2.82,12.35,4.42,25.23,8.32,37.67,12.1,18.63,5.65,36.1,10.95,50.15,17.36,6.86,3.13,22.92,10.46,22.92,25,0,22.8-23.55,36.42-62.99,36.42ZM1676.35,327.57c2.43,17.99,17.89,31.89,36.53,31.89s30.38-3.96,34.49-7.21c-1.29-.76-3.09-1.72-5.58-2.86-12.41-5.66-29.04-10.71-46.65-16.05-6.21-1.88-12.49-3.79-18.78-5.78ZM1767.62,242.98c-1.51,0-3.03-.25-4.5-.78-12.03-4.28-24.58-8.09-36.71-11.77l3.84-12.88-3.9,12.87c-23.43-7.11-47.24-14.91-62.62-23.8-9.14-5.28-14.6-14.66-14.6-25.08,0-7.13,2.33-17.28,13.42-25.12,11.02-7.78,28.89-12.07,50.33-12.07,35.15,0,63.75,28.6,63.75,63.75,0,5.59,1.12,11,3.33,16.07,2.14,4.91,1.16,10.63-2.5,14.54-2.59,2.77-6.17,4.27-9.83,4.27ZM1712.88,171.24c-18.22,0-29.93,3.69-34.82,7.14-2.05,1.45-2.05,2.24-2.05,3.16,0,.57.09,1.17,1.17,1.8,13.05,7.55,36.12,15.03,56.96,21.35l-3.9,12.87,3.96-12.85c5.12,1.55,10.32,3.13,15.55,4.76,0-.45-.01-.91-.01-1.36,0-20.33-16.53-36.86-36.86-36.86Z"/>
|
||||
<path d="M442.11,1043.17c-126.02,0-228.55-102.53-228.55-228.55s102.53-228.55,228.55-228.55,228.55,102.53,228.55,228.55-102.53,228.55-228.55,228.55ZM442.11,612.96c-111.2,0-201.66,90.47-201.66,201.66s90.47,201.66,201.66,201.66,201.66-90.47,201.66-201.66-90.47-201.66-201.66-201.66ZM442.11,935.62c-66.72,0-121-54.28-121-121s54.28-121,121-121,121,54.28,121,121-54.28,121-121,121ZM442.11,720.51c-51.89,0-94.11,42.22-94.11,94.11s42.22,94.11,94.11,94.11,94.11-42.22,94.11-94.11-42.22-94.11-94.11-94.11Z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 11 KiB |
BIN
public/images/EXPO/GameDev logos/Eleball.png
Normal file
|
After Width: | Height: | Size: 816 KiB |
BIN
public/images/EXPO/GameDev logos/Hardwired.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
public/images/EXPO/GameDev logos/Hexwave.png
Normal file
|
After Width: | Height: | Size: 257 KiB |
BIN
public/images/EXPO/GameDev logos/Immortal.png
Normal file
|
After Width: | Height: | Size: 71 KiB |
BIN
public/images/EXPO/GameDev logos/Kalawindow.png
Normal file
|
After Width: | Height: | Size: 282 KiB |
BIN
public/images/EXPO/GameDev logos/Korter1996.png
Normal file
|
After Width: | Height: | Size: 5.0 KiB |
BIN
public/images/EXPO/GameDev logos/Midnight_Souveneirs.png
Normal file
|
After Width: | Height: | Size: 298 KiB |
BIN
public/images/EXPO/GameDev logos/Nullis.png
Normal file
|
After Width: | Height: | Size: 17 KiB |
BIN
public/images/EXPO/GameDev logos/Planet_hoarders.png
Normal file
|
After Width: | Height: | Size: 335 KiB |
BIN
public/images/EXPO/GameDev logos/Seasons_of_Solitude.png
Normal file
|
After Width: | Height: | Size: 368 KiB |
BIN
public/images/EXPO/GameDev logos/War_torn.png
Normal file
|
After Width: | Height: | Size: 82 KiB |
BIN
public/images/EXPO/GameDev logos/broken_alliance.png
Normal file
|
After Width: | Height: | Size: 29 KiB |
BIN
public/images/EXPO/GameDev logos/craftcat_sim.png
Normal file
|
After Width: | Height: | Size: 1.8 MiB |
BIN
public/images/EXPO/GameDev logos/death_and_taxes.png
Normal file
|
After Width: | Height: | Size: 205 KiB |
103
public/images/EXPO/GameDev logos/deep_pixel_melancholy.svg
Normal file
|
After Width: | Height: | Size: 103 KiB |
BIN
public/images/EXPO/GameDev logos/realm_hearts.png
Normal file
|
After Width: | Height: | Size: 2.2 MiB |
BIN
public/images/EXPO/baar.jpg
Normal file
|
After Width: | Height: | Size: 18 MiB |
BIN
public/images/EXPO/chill_ala.jpg
Normal file
|
After Width: | Height: | Size: 36 MiB |
BIN
public/images/EXPO/mklubi.jpg
Normal file
|
After Width: | Height: | Size: 75 KiB |
BIN
public/images/EXPO/ylikoolid/a_bottles_journey.png
Normal file
|
After Width: | Height: | Size: 313 KiB |
BIN
public/images/EXPO/ylikoolid/blastronaut.png
Normal file
|
After Width: | Height: | Size: 57 KiB |
BIN
public/images/EXPO/ylikoolid/deltavr.png
Normal file
|
After Width: | Height: | Size: 132 KiB |
BIN
public/images/EXPO/ylikoolid/dwarf_escape.png
Normal file
|
After Width: | Height: | Size: 860 KiB |
BIN
public/images/EXPO/ylikoolid/magic_mineral.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
public/images/EXPO/ylikoolid/oh_crap.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
public/images/EXPO/ylikoolid/packet_tracers.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
public/images/EXPO/ylikoolid/psyrreal.png
Normal file
|
After Width: | Height: | Size: 2.0 MiB |
BIN
public/images/EXPO/ylikoolid/the_return.png
Normal file
|
After Width: | Height: | Size: 642 KiB |
BIN
public/images/EXPO/ylikoolid/tiksu-toksu.jpg
Normal file
|
After Width: | Height: | Size: 43 KiB |
BIN
public/images/EXPO/ylikoolid/type_n_magic.png
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
BIN
public/images/EXPO/ylikoolid/void_of_hermes.png
Normal file
|
After Width: | Height: | Size: 1.0 MiB |
BIN
public/images/EXPO/ylikoolid/wildings.png
Normal file
|
After Width: | Height: | Size: 750 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 54 KiB |
|
Before Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 117 KiB |
|
Before Width: | Height: | Size: 75 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 47 KiB |
BIN
public/images/cs2_tournament.png
Normal file
|
After Width: | Height: | Size: 12 MiB |
BIN
public/images/cs2_tournament_logo.png
Normal file
|
After Width: | Height: | Size: 7.8 MiB |
BIN
public/images/fienta/banner.png
Normal file
|
After Width: | Height: | Size: 3.0 MiB |
BIN
public/images/fienta/expo_area.png
Normal file
|
After Width: | Height: | Size: 2.7 MiB |
BIN
public/images/fienta/main_tournament.png
Normal file
|
After Width: | Height: | Size: 2.6 MiB |
BIN
public/images/fienta/mini_tournaments.png
Normal file
|
After Width: | Height: | Size: 2.9 MiB |
BIN
public/images/fienta/overview.png
Normal file
|
After Width: | Height: | Size: 4.7 MiB |
@@ -1,6 +0,0 @@
|
||||
<svg width="40" height="30" viewBox="0 0 40 30" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M0 4.68346V9.23077H6.25333L0 4.68346ZM5.18222 30H14.4444V23.265L5.18222 30ZM25.5556 23.2662V30H34.8167L25.5556 23.2662ZM0 20.7692V25.3165L6.25556 20.7692H0ZM34.8189 0H25.5556V6.735L34.8189 0ZM40 25.3177V20.7692H33.7433L40 25.3177ZM40 9.23077V4.68346L33.7456 9.23077H40ZM14.4444 0H5.18222L14.4444 6.735V0Z" fill="#00247D"/>
|
||||
<path d="M27.9332 20.7696L38.7243 28.6169C39.2513 28.0531 39.6301 27.3583 39.8243 26.5989L31.8076 20.7696H27.9332ZM14.4443 20.7696H12.0654L1.27543 28.6158C1.85432 29.2273 2.59654 29.6646 3.42876 29.8677L14.4443 21.8577V20.7696ZM25.5554 9.23118H27.9343L38.7243 1.38503C38.1355 0.764575 37.3891 0.330442 36.5721 0.133104L25.5554 8.1431V9.23118ZM12.0654 9.23118L1.27543 1.38503C0.748709 1.94923 0.369666 2.64392 0.174316 3.4031L8.19098 9.23118H12.0654Z" fill="#C8102E"/>
|
||||
<path d="M40 18.4615H23.3333V30H25.5556V23.2662L34.8167 30H35.5556C36.1458 30.0001 36.7302 29.8778 37.2744 29.6402C37.8185 29.4026 38.3114 29.055 38.7243 28.6169L27.9332 20.7696H31.8076L39.8243 26.5989C39.9276 26.21 40 25.8069 40 25.3846V25.3177L33.7433 20.7692H40V18.4615ZM0 18.4615V20.7692H6.25556L0 25.3165V25.3846C0 26.6435 0.48765 27.7827 1.27543 28.6158L12.0654 20.7696H14.4443V21.8577L3.42889 29.8662C3.75556 29.9469 4.09333 30 4.44444 30H5.18222L14.4444 23.265V30H16.6667V18.4615H0ZM40 4.61538C40.0007 3.40613 39.5422 2.24574 38.7243 1.38503L27.9343 9.23118H25.5554V8.1431L36.5721 0.133104C36.2393 0.0483274 35.8982 0.00339006 35.5556 4.3659e-07L34.8189 0L25.5556 6.735V0L23.3333 4.3659e-07V11.5385H40V9.23077H33.7456L40 4.68346V4.61538ZM14.4444 0V6.735L5.18222 0L4.44444 4.3659e-07C3.85403 -0.000266737 3.26952 0.122092 2.72531 0.359879C2.1811 0.597666 1.68805 0.946488 1.27543 1.38503L12.0654 9.23118H8.19098L0.174316 3.4031C0.0640721 3.79738 0.00552601 4.20486 0 4.61538V4.68346L6.25333 9.23077H0V11.5385H16.6667V4.3659e-07L14.4444 0Z" fill="white"/>
|
||||
<path d="M23.3333 11.5385V4.3659e-07H16.6667V11.5385H0V18.4615H16.6667V30H23.3333V18.4615H40V11.5385H23.3333Z" fill="#C8102E"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 2.0 KiB |
@@ -1,5 +0,0 @@
|
||||
<svg width="40" height="30" viewBox="0 0 40 30" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M35.5556 0H4.44444C3.2657 0 2.13524 0.468252 1.30175 1.30175C0.468253 2.13524 0 3.2657 0 4.44444V10H40V4.44444C40 3.2657 39.5317 2.13524 38.6983 1.30175C37.8648 0.468252 36.7343 0 35.5556 0Z" fill="#0072CE"/>
|
||||
<path d="M0 10H40V20H0V10Z" fill="black"/>
|
||||
<path d="M35.5556 30H4.44444C3.2657 30 2.13524 29.4732 1.30175 28.5355C0.468253 27.5979 0 26.3261 0 25V20H40V25C40 26.3261 39.5317 27.5979 38.6983 28.5355C37.8648 29.4732 36.7343 30 35.5556 30Z" fill="white"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 574 B |
|
Before Width: | Height: | Size: 135 KiB |
|
Before Width: | Height: | Size: 136 KiB |
|
Before Width: | Height: | Size: 145 KiB |
BIN
public/images/landing/compete_hero.png
Normal file
|
After Width: | Height: | Size: 1.0 MiB |
BIN
public/images/landing/compete_teaser.jpg
Normal file
|
After Width: | Height: | Size: 634 KiB |
BIN
public/images/landing/cs2_tournament.jpg
Normal file
|
After Width: | Height: | Size: 6.3 MiB |
BIN
public/images/landing/explore_hero.png
Normal file
|
After Width: | Height: | Size: 1.0 MiB |
|
Before Width: | Height: | Size: 1.9 MiB After Width: | Height: | Size: 1.9 MiB |
BIN
public/images/landing/league_ticket.jpg
Normal file
|
After Width: | Height: | Size: 12 MiB |
BIN
public/images/landing/lol_tournament.png
Normal file
|
After Width: | Height: | Size: 4.0 MiB |
BIN
public/images/landing/main_teaser.jpg
Normal file
|
After Width: | Height: | Size: 1.4 MiB |
BIN
public/images/landing/play_hero.png
Normal file
|
After Width: | Height: | Size: 1024 KiB |
|
Before Width: | Height: | Size: 2.0 MiB After Width: | Height: | Size: 2.0 MiB |
BIN
public/images/landing/student_award.png
Normal file
|
After Width: | Height: | Size: 65 KiB |
BIN
public/images/landing/student_award.webp
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
public/images/landing/visitor_tournament.jpg
Normal file
|
After Width: | Height: | Size: 747 KiB |
BIN
public/images/lol_tournament.png
Normal file
|
After Width: | Height: | Size: 4.3 MiB |
BIN
public/images/lol_tournament_logo.png
Normal file
|
After Width: | Height: | Size: 6.5 MiB |
BIN
public/images/minitournament.png
Normal file
|
After Width: | Height: | Size: 12 MiB |
BIN
public/images/minitournament_logo.png
Normal file
|
After Width: | Height: | Size: 8.1 MiB |
BIN
public/images/miniturniirid/2xko.png
Normal file
|
After Width: | Height: | Size: 1.7 MiB |
BIN
public/images/miniturniirid/buckshot_tournament.png
Normal file
|
After Width: | Height: | Size: 235 KiB |
BIN
public/images/miniturniirid/dwarf_escape.png
Normal file
|
After Width: | Height: | Size: 860 KiB |
BIN
public/images/miniturniirid/fc26.jpg
Normal file
|
After Width: | Height: | Size: 100 KiB |
BIN
public/images/miniturniirid/gran_turismo.jpg
Normal file
|
After Width: | Height: | Size: 842 KiB |
BIN
public/images/miniturniirid/street_fighter.jpg
Normal file
|
After Width: | Height: | Size: 67 KiB |
BIN
public/images/miniturniirid/super_smash_bros.jpg
Normal file
|
After Width: | Height: | Size: 180 KiB |
BIN
public/images/miniturniirid/tekken8.jpg
Normal file
|
After Width: | Height: | Size: 157 KiB |
BIN
public/images/miniturniirid/wrc.jpg
Normal file
|
After Width: | Height: | Size: 470 KiB |
|
Before Width: | Height: | Size: 1.1 MiB |