Skip to content

Commit

Permalink
modified: about.html
Browse files Browse the repository at this point in the history
	modified:   addtranslation.html
	new file:   app.py
	renamed:    about.css -> css/about.css
	renamed:    addtranslation.css -> css/addtranslation.css
	renamed:    load.css -> css/load.css
	renamed:    notcompleted.css -> css/notcompleted.css
	renamed:    scrollbar.css -> css/scrollbar.css
	renamed:    search.css -> css/search.css
	new file:   css/styles.css
	renamed:    submited.css -> css/submited.css
	modified:   index.html
	renamed:    about.js -> js/about.js
	renamed:    index.js -> js/index.js
	renamed:    script.js -> js/script.js
	renamed:    search.js -> js/search.js
	renamed:    tabs.js -> js/tabs.js
	renamed:    tabsindex.js -> js/tabsindex.js
	modified:   mods.json
	new file:   static/addtranslation.css
	new file:   static/default-image.png
	new file:   static/icon.png
	new file:   static/script.js
	new file:   static/style.css
	renamed:    styles.css -> static/styles.css
	modified:   submited.html
	new file:   templates/editor.html
  • Loading branch information
MEGATREX4 committed Oct 21, 2023
1 parent f62a1ca commit a68cdaa
Show file tree
Hide file tree
Showing 27 changed files with 2,196 additions and 985 deletions.
16 changes: 8 additions & 8 deletions about.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
<title>Спільнота українізації модів</title>
<meta name="viewport" content="width=device-width, initial-scale=1">

<script src="script.js"></script>
<script src="about.js"></script>
<script src="js/script.js"></script>
<script src="js/about.js"></script>
<meta property="og:title" content="Спільнота українізації модів">
<meta property="og:description" content="Тут ви зможете зайти переклади модів для майнкрафту, або перелкди інших ігор, також можна запропонувати свій переклад(виключно моди майнкрафт)">
<meta property="og:image" content="images/icon.png">
Expand All @@ -28,11 +28,11 @@
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link href="https://fonts.googleapis.com/css2?family=Nunito:wght@500&display=swap" rel="stylesheet"></head>

<link rel="stylesheet" href="search.css">
<link rel="stylesheet" href="scrollbar.css">
<link rel="stylesheet" href="styles.css">
<link rel="stylesheet" href="about.css">
<link rel="stylesheet" href="notcompleted.css">
<link rel="stylesheet" href="css/search.css">
<link rel="stylesheet" href="css/scrollbar.css">
<link rel="stylesheet" href="css/styles.css">
<link rel="stylesheet" href="css/about.css">
<link rel="stylesheet" href="css/notcompleted.css">
<body>

<div class="header">
Expand Down Expand Up @@ -91,7 +91,7 @@ <h1 class="headertext">Спільнота українізації модів</h
</div>
<div class="footer">
<p>&copy; 2023 Спільнота українізації модів</p>
<p>Створено в Україні для українців</p>
<p>Створено в Києві з 💜</p>
<p>NOT AN OFFICIAL MINECRAFT PRODUCT. NOT APPROVED BY OR ASSOCIATED WITH MOJANG.</p>

</div>
Expand Down
14 changes: 7 additions & 7 deletions addtranslation.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="google-site-verification" content="qggRZdWV97BX58wyp4stLoLL2d2SogccsRlNHH4xuU8" />

<link rel="stylesheet" href="styles.css">
<link rel="stylesheet" href="search.css">
<link rel="stylesheet" href="scrollbar.css">
<link rel="stylesheet" href="load.css">
<link rel="stylesheet" href="notcompleted.css">
<link rel="stylesheet" href="addtranslation.css">
<link rel="stylesheet" href="css/styles.css">
<link rel="stylesheet" href="css/search.css">
<link rel="stylesheet" href="css/scrollbar.css">
<link rel="stylesheet" href="css/load.css">
<link rel="stylesheet" href="css/notcompleted.css">
<link rel="stylesheet" href="css/addtranslation.css">

<meta property="og:title" content="Спільнота українізації модів">
<meta property="og:description" content="Тут ви зможете зайти переклади модів для майнкрафту, або перелкди інших ігор, також можна запропонувати свій переклад(виключно моди майнкрафт)">
Expand Down Expand Up @@ -137,7 +137,7 @@ <h2>Додавання перекладу мода</h2>

<div class="footer">
<p>&copy; 2023 Спільнота українізації модів</p>
<p>Створено в Україні для українців</p>
<p>Створено в Києві з 💜</p>
<p>NOT AN OFFICIAL MINECRAFT PRODUCT. NOT APPROVED BY OR ASSOCIATED WITH MOJANG.</p>

</div>
Expand Down
149 changes: 149 additions & 0 deletions app.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
from flask import Flask, render_template, request, jsonify
import json
import urllib.parse
from jinja2 import Environment
from colorama import Fore, Style # Додайте імпорт кольорових стилів
import sys
sys.stdout.reconfigure(encoding='utf-8')


app = Flask(__name__)
app.debug = True

# Зчитування даних з JSON файлу
data_file = "mods.json" # Шлях до вашого JSON-файлу

def read_data_from_file():
try:
with open(data_file, 'r', encoding='utf-8') as file:
data = json.load(file)
return data
except FileNotFoundError:
return []

def save_data_to_file(data):
with open(data_file, 'w', encoding='utf-8') as file:
json.dump(data, file, ensure_ascii=False, indent=4)

# Додавання фільтра urlparse до Jinja2
def urlparse(url):
from urllib.parse import urlparse
netloc = urlparse(url).netloc
if netloc.startswith("www."):
netloc = netloc[4:] # Видаляємо "www." з початку
if netloc.endswith(".com"):
netloc = netloc[:-4] # Видаляємо ".com" з кінця
return netloc

app.jinja_env.filters['urlparse'] = urlparse

@app.route('/')
def editor():
data = read_data_from_file()
return render_template('editor.html', data=data)

@app.route('/delete_card', methods=['POST'])
def delete_card_handler():
data = request.get_json() # Отримання даних з POST-запиту у форматі JSON
card_title = data.get('title')

if card_title is not None:
print(f'{Fore.YELLOW}Стараємось видалити картку: {card_title}{Style.RESET_ALL}')
data = read_data_from_file()
for card in data:
if 'title' in card and card['title'] == card_title:
data.remove(card)
save_data_to_file(data)
print(f'{Fore.GREEN}Видалено картку: {card_title}{Style.RESET_ALL}') # Повідомлення про видалену картку у консоль
return '', 204 # Успішна відповідь без тіла

return f'{Fore.RED}Картку не знайдено{Style.RESET_ALL}', 404

@app.route('/add_card', methods=['POST'])
def add_card():
data = request.get_json() # Отримання даних з POST-запиту у форматі JSON
new_title = data.get('title')
new_description = data.get('description')
new_image = data.get('image')
new_author = data.get('author')
new_verified = data.get('verified')
new_completed = data.get('completed')
new_link = data.get('link')

print(f'{Fore.GREEN}Додано нову картку: {new_title} з даними {data}{Style.RESET_ALL}') # Повідомлення про додану картку у консоль

if not new_title:
return f'{Fore.RED}Помилка: Запис не має заголовку.{Style.RESET_ALL}', 400

data = read_data_from_file()

# Перевірка, чи не існує картки з таким же title
for card in data:
if card['title'] == new_title:
return f'{Fore.RED}Картка з таким заголовком вже існує{Style.RESET_ALL}', 400

# Генерування нового унікального 'id'
new_id = len(data) + 1

new_card = {
'title': new_title,
'description': new_description,
'image': new_image,
'verified': new_verified,
'author': new_author,
'completed': new_completed,
'link': new_link
}

data.append(new_card)
save_data_to_file(data)
return jsonify(new_card)

@app.route('/edit_card', methods=['POST'])
def edit_card():
if request.content_type != 'application/json':
return f'{Fore.RED}Непідтримуваний тип медіа{Style.RESET_ALL}', 415

data = request.get_json()
card_title = data.get('title')

if card_title is not None:
print(f'{Fore.YELLOW}Стараємось оновити: {card_title}{Style.RESET_ALL}')
new_title = urllib.parse.unquote(data.get('newTitle', ''))
new_description = urllib.parse.unquote(data.get('newDescription', ''))
new_image = urllib.parse.unquote(data.get('newImage', ''))
new_author = urllib.parse.unquote(data.get('newAuthor', ''))
new_verified = data.get('newVerified', False)
new_completed = data.get('newCompleted', False)
new_link = urllib.parse.unquote(data.get('newLink', ''))

data = read_data_from_file()

updated = False
updated_card = None

for card in data:
if 'title' in card and card['title'] == card_title:
card['title'] = new_title
card['description'] = new_description
card['image'] = new_image
card['author'] = new_author
card['verified'] = new_verified
card['completed'] = new_completed
card['link'] = new_link
updated = True
updated_card = card
break

if updated:
save_data_to_file(data)
print(f'{Fore.GREEN}Оновлено картку: {new_title}{Style.RESET_ALL}')
return jsonify(updated_card) # Повернення зміненої картки у відповіді
else:
return f'{Fore.RED}Картку не знайдено{Style.RESET_ALL}', 404
else:
return f'{Fore.RED}Некоректні дані{Style.RESET_ALL}', 400


if __name__ == '__main__':
app.run(debug=True)
12 changes: 6 additions & 6 deletions about.css → css/about.css
Original file line number Diff line number Diff line change
Expand Up @@ -125,25 +125,25 @@


.dona{
background-image: url(images/Donatello.png);
background-image: url(/images/Donatello.png);
}

.mono{
background-image: url(images/monobank.png);
background-image: url(/images/monobank.png);

}

.mas{
background-image: url(images/socials/mastodon.png);
background-image: url(/images/socials/mastodon.png);
}
.tel{
background-image: url(images/socials/telegram.png);
background-image: url(/images/socials/telegram.png);
}
.sky{
background-image: url(images/socials/bluesky.png);
background-image: url(/images/socials/bluesky.png);
}
.twi{
background-image: url(images/socials/twitter.png);
background-image: url(/images/socials/twitter.png);
}

.dona, .mono, .mas,.tel,.sky,.twi{
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loading

0 comments on commit a68cdaa

Please sign in to comment.