From e2ef269cb00d3ec314d2ddf0365e0253223a2279 Mon Sep 17 00:00:00 2001 From: prathamTailor <20ceubg054@ddu.ac.in> Date: Sun, 30 Apr 2023 09:38:52 +0530 Subject: [PATCH] Remove code --- AiVirtualMouseProject.py | 169 ------------- HandTrackingModule.py | 125 ---------- RegisterUi.py | 10 - app.py | 56 ----- open.py | 16 -- proton.py | 253 -------------------- python.py | 10 - web/css/back.png | Bin 1186 -> 0 bytes web/css/jquery.convform.css | 367 ----------------------------- web/images/icon.png | Bin 192932 -> 0 bytes web/images/purple-gradient-bar.png | Bin 83248 -> 0 bytes web/images/purple-gradient.jpg | Bin 69354 -> 0 bytes web/index.html | 43 ---- web/js/main.js | 49 ---- 14 files changed, 1098 deletions(-) delete mode 100644 AiVirtualMouseProject.py delete mode 100644 HandTrackingModule.py delete mode 100644 RegisterUi.py delete mode 100644 app.py delete mode 100644 open.py delete mode 100644 proton.py delete mode 100644 python.py delete mode 100644 web/css/back.png delete mode 100644 web/css/jquery.convform.css delete mode 100644 web/images/icon.png delete mode 100644 web/images/purple-gradient-bar.png delete mode 100644 web/images/purple-gradient.jpg delete mode 100644 web/index.html delete mode 100644 web/js/main.js diff --git a/AiVirtualMouseProject.py b/AiVirtualMouseProject.py deleted file mode 100644 index 4376b7a..0000000 --- a/AiVirtualMouseProject.py +++ /dev/null @@ -1,169 +0,0 @@ -import sys -sys.path.append('Users\prath\AppData\Local\Programs\Python\Python38\Lib\site-packages') -import cv2 -from pynput.keyboard import Key, Listener -import numpy as np -from pynput.keyboard import Key -import HandTrackingModule as htm -import time -import autopy -import keyboard -import pyautogui as py - - -def show(key): - if key == Key.esc: - return True - else : - return False - -def Gesture_Controller(): - gc_mode = 0 - flag = False - - ########################## - wCam, hCam = 640, 480 - frameR = 100 # Frame Reduction - smoothening = 7 - ######################### - - pTime = 0 - plocX, plocY = 0, 0 - clocX, clocY = 0, 0 - - # cv2.VideoCapture(video_path or device index ) - # device index: It is just the number to specify the camera. Its possible values ie either 0 or -1. - cap = cv2.VideoCapture(0) - cap.set(3, wCam) #set width of cam - cap.set(4, hCam) #set height of cam - detector = htm.handDetector(maxHands=1) - wScr, hScr = autopy.screen.size() #screen size of device in which program is open - # print(wScr, hScr) - - - while True: - # 1. Find hand Landmarks - success, img = cap.read() #cap.read() returns a bool (True/False) saved in success. If the frame is read correctly, - # it will be true and store in img - img = detector.findHands(img) - lmList, bbox = detector.findPosition(img) - # 2. Get the tip of the index and middle fingers - if len(lmList) != 0: - x1, y1 = lmList[8][1:] - x2, y2 = lmList[12][1:] - # print(x1, y1, x2, y2) - - - # 3. Check which fingers are up - fingers = detector.fingersUp() - - - # Scroll up - if len(fingers) > 4 and fingers[0] == 0 and fingers[1]==1 and fingers[2] == 1 and fingers[3] == 1 and fingers[4] == 1: - length, img, lineInfo = detector.findDistance(4, 8, img) - # print("IN FUN2") - cv2.circle(img, (lineInfo[4], lineInfo[5]),15, (0, 255, 0), cv2.FILLED) - py.scroll(50) - - # drag drop item drop - if len(fingers) > 4 and fingers[0]==1 and fingers[1] == 1 and fingers[2] == 1 and fingers[3] == 1 and fingers[4] == 1: - print("CALL") - flag = False - py.mouseUp(button='left') - if (len(fingers)>3 and fingers[3] == 0) or (len(fingers)>4 and fingers[4] == 0): - - # 4. Only Index Finger : Moving Mode - if len(fingers)>4 and fingers[1] == 1 and fingers[2] == 1 and fingers[3]==0 and fingers[4]==0: - # if len(fingers)>2 and fingers[1] == 1 and fingers[2] == 1: - length, img, lineInfo = detector.findDistance(8, 12, img) - - # 5. Convert Coordinates - x3 = np.interp(x1, (frameR, wCam - frameR), (0, wScr)) - y3 = np.interp(y1, (frameR, hCam - frameR), (0, hScr)) - # 6. Smoothen Values - clocX = plocX + (x3 - plocX) / smoothening - clocY = plocY + (y3 - plocY) / smoothening - - # 7. Move Mouse - if length > 40: - autopy.mouse.move(wScr - clocX, clocY) - cv2.circle(img, (x1, y1), 15, (255, 0, 255), cv2.FILLED) - cv2.circle(img, (x2, y2), 15, (255, 0, 255), cv2.FILLED) - plocX, plocY = clocX, clocY - - # 8. Both Index and middle fingers are up : Clicking Mode Right CLick - # if len(fingers) > 2 and fingers[1] == 0 and fingers[2] == 1: - if len(fingers) > 4 and fingers[0] == 0 and fingers[1] == 0 and fingers[2] == 1 and fingers[3] == 0 and fingers[4] == 0: - # 9. Find distance between fingers - length, img, lineInfo = detector.findDistance(8, 12, img) - # print(length) - # 10. Click mouse if distance short - if length > 30: - cv2.circle(img, (lineInfo[4], lineInfo[5]),15, (0, 255, 0), cv2.FILLED) - py.click(button = 'left') - - # 8. Both Index and middle fingers are up : Clicking Mode Left CLick - # if len(fingers) > 2 and fingers[1] == 1 and fingers[2] == 0: - if len(fingers) > 4 and fingers[0] == 0 and fingers[1] == 1 and fingers[2] == 0 and fingers[3] == 0 and fingers[4] == 0: - # 9. Find distance between fingers - length, img, lineInfo = detector.findDistance(8, 12, img) - # print(length) - # 10. Click mouse if distance short - if length > 30: - cv2.circle(img, (lineInfo[4], lineInfo[5]),15, (0, 255, 0), cv2.FILLED) - py.click(button = 'right') - - # Double Click - if len(fingers) > 4 and fingers[1] == 1 and fingers[2] == 1 and fingers[0]==0 and fingers[3]==0 and fingers[4]==0: - # 9. Find distance between fingers - length, img, lineInfo = detector.findDistance(8, 12, img) - # print(length) - # 10. Click mouse if distance short - if length < 30: - cv2.circle(img, (lineInfo[4], lineInfo[5]),15, (0, 255, 0), cv2.FILLED) - py.doubleClick() - - # Scroll Down - if len(fingers) > 4 and fingers[0] == 0 and fingers[1]==1 and fingers[2] == 1 and fingers[3] == 1 and fingers[4] == 0: - length, img, lineInfo = detector.findDistance(4, 8, img) - # print("IN FUN") - cv2.circle(img, (lineInfo[4], lineInfo[5]),15, (0, 255, 0), cv2.FILLED) - py.scroll(-50) - - # Drag and Drop - if len(fingers) > 4 and fingers[0] == 0 and fingers[1] == 0 and fingers[2] == 0 and fingers[3] == 0 and fingers[4] == 0: - length, img, lineInfo = detector.findDistance(8, 12, img) - - # 5. Convert Coordinates - x3 = np.interp(x1, (frameR, wCam - frameR), (0, wScr)) - y3 = np.interp(y1, (frameR, hCam - frameR), (0, hScr)) - # 6. Smoothen Values - clocX = plocX + (x3 - plocX) / smoothening - clocY = plocY + (y3 - plocY) / smoothening - - # 7. Move Mouse - # py.mouseDown(button='left') - if not flag: - print("CALL IN") - flag = True - py.mouseDown(button='left') - print("TEMP") - autopy.mouse.move(wScr - clocX, clocY) - cv2.circle(img, (x1, y1), 15, (255, 0, 255), cv2.FILLED) - cv2.circle(img, (x2, y2), 15, (255, 0, 255), cv2.FILLED) - plocX, plocY = clocX, clocY - - # 11. Frame Rate - cTime = time.time() - fps = 1 / (cTime - pTime) - pTime = cTime - img = cv2.flip(img,1) - cv2.putText(img, str(int(fps)), (20, 50), cv2.FONT_HERSHEY_PLAIN, 3, - (255, 0, 0), 3) - # 12. Display - cv2.imshow("Image", img) - cv2.waitKey(1) - if keyboard.is_pressed('esc'): - cv2.destroyAllWindows() - cap.release() - break \ No newline at end of file diff --git a/HandTrackingModule.py b/HandTrackingModule.py deleted file mode 100644 index 4bd0b15..0000000 --- a/HandTrackingModule.py +++ /dev/null @@ -1,125 +0,0 @@ -import mediapipe as mp -import time -import math -import numpy as np -import cv2 - -class handDetector(): - def __init__(self, mode=False, maxHands=2, modelComplexity=1,detectionCon=0.5, trackCon=0.5): - self.mode = mode - self.lmList = [] - self.maxHands = maxHands - self.modelComplex = modelComplexity - self.detectionCon = detectionCon - self.trackCon = trackCon - self.mpHands = mp.solutions.hands - self.hands = self.mpHands.Hands(self.mode, self.maxHands, self.modelComplex, self.detectionCon, self.trackCon) - # self.hands = self.mpHands.Hands(self.mode, self.maxHands, self.detectionCon, self.trackCon) - self.mpDraw = mp.solutions.drawing_utils - self.tipIds = [4, 8, 12, 16, 20] - - def findHands(self, img, draw=True): - imgRGB = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) # cv2.cvtColor() method is used to convert an image from one color space to another. - self.results = self.hands.process(imgRGB) #It then processes the RGB image to identify the hands in the image: - # print(self.results.multi_hand_landmarks) - - if self.results.multi_hand_landmarks: - for handLms in self.results.multi_hand_landmarks: - if draw: - self.mpDraw.draw_landmarks(img, handLms,self.mpHands.HAND_CONNECTIONS) - - return img - - def findPosition(self, img, handNo=0, draw=True): - xList = [] - yList = [] - bbox = [] - # self.lmList = [] - self.lmList = [] - # print(type(self.results.multi_hand_landmarks)) - if self.results.multi_hand_landmarks: - myHand = self.results.multi_hand_landmarks[handNo] - for id, lm in enumerate(myHand.landmark): - # print(id, lm) - h, w, c = img.shape # height, width, channel - cx, cy = int(lm.x * w), int(lm.y * h) - xList.append(cx) - yList.append(cy) - # print(id, cx, cy) - self.lmList.append([id, cx, cy]) - if draw: - cv2.circle(img, (cx, cy), 5, (255, 0, 255), cv2.FILLED) - - xmin, xmax = min(xList), max(xList) - ymin, ymax = min(yList), max(yList) - bbox = xmin, ymin, xmax, ymax - - if draw: - cv2.rectangle(img, (xmin - 20, ymin - 20), (xmax + 20, ymax + 20), - (0, 255, 0), 2) - - return self.lmList, bbox - - def fingersUp(self): - fingers = [] - # Thumb - # print(len(self.lmList)) - # print(self.lmList[self.tipIds[0]][1]) - # print(self.lmList[self.tipIds[0] - 1][1]) - if len(self.lmList) > 1: - if self.lmList[self.tipIds[0]][1] > self.lmList[self.tipIds[0] - 1][1]: - fingers.append(1) - else: - fingers.append(0) - - # Fingers - for id in range(1, 5): - if len(self.lmList) > 2: - if self.lmList[self.tipIds[id]][2] < self.lmList[self.tipIds[id] - 2][2]: - fingers.append(1) - else: - fingers.append(0) - - # totalFingers = fingers.count(1) - - return fingers - - def findDistance(self, p1, p2, img, draw=True, r=15, t=3): - x1, y1 = self.lmList[p1][1:] - x2, y2 = self.lmList[p2][1:] - cx, cy = (x1 + x2) // 2, (y1 + y2) // 2 - - if draw: - cv2.line(img, (x1, y1), (x2, y2), (255, 0, 255), t) - cv2.circle(img, (x1, y1), r, (255, 0, 255), cv2.FILLED) - cv2.circle(img, (x2, y2), r, (255, 0, 255), cv2.FILLED) - cv2.circle(img, (cx, cy), r, (0, 0, 255), cv2.FILLED) - length = math.hypot(x2 - x1, y2 - y1) - - return length, img, [x1, y1, x2, y2, cx, cy] - - -def main(): - pTime = 0 - cTime = 0 - cap = cv2.VideoCapture(0) - detector = handDetector() - while True: - success, img = cap.read() - img = detector.findHands(img) - lmList, bbox = detector.findPosition(img) - if len(lmList) != 0: - print(lmList[4]) - - cTime = time.time() - fps = 1 / (cTime - pTime) - pTime = cTime - - cv2.putText(img, str(int(fps)), (10, 70), cv2.FONT_HERSHEY_PLAIN, 3,(255, 0, 255), 3) - - cv2.imshow("Image", img) - cv2.waitKey(1) - - -if __name__ == "__main__": - main() diff --git a/RegisterUi.py b/RegisterUi.py deleted file mode 100644 index 19b8631..0000000 --- a/RegisterUi.py +++ /dev/null @@ -1,10 +0,0 @@ -# -*- coding: utf-8 -*- - -# Form implementation generated from reading ui file 'RegisterUi.ui' -# -# Created by: PyQt5 UI code generator 5.15.4 -# -# WARNING: Any manual changes made to this file will be lost when pyuic5 is -# run again. Do not edit this file unless you know what you are doing. - - diff --git a/app.py b/app.py deleted file mode 100644 index 529b810..0000000 --- a/app.py +++ /dev/null @@ -1,56 +0,0 @@ -import eel -import os -from queue import Queue - -class ChatBot: - - started = False - userinputQueue = Queue() - - def isUserInput(): - return not ChatBot.userinputQueue.empty() - - def popUserInput(): - return ChatBot.userinputQueue.get() - - def close_callback(route, websockets): - # if not websockets: - # print('Bye!') - exit() - - @eel.expose - def getUserInput(msg): - ChatBot.userinputQueue.put(msg) - print(msg) - - def close(): - ChatBot.started = False - - def addUserMsg(msg): - eel.addUserMsg(msg) - - def addAppMsg(msg): - eel.addAppMsg(msg) - - def start(): - path = os.path.dirname(os.path.abspath(__file__)) - eel.init(path + r'\web', allowed_extensions=['.js', '.html']) - try: - eel.start('index.html', mode='chrome', - host='localhost', - port=27005, - block=False, - size=(350, 480), - position=(10,100), - disable_cache=True, - close_callback=ChatBot.close_callback) - ChatBot.started = True - while ChatBot.started: - try: - eel.sleep(10.0) - except: - #main thread exited - break - - except: - pass \ No newline at end of file diff --git a/open.py b/open.py deleted file mode 100644 index e4eb705..0000000 --- a/open.py +++ /dev/null @@ -1,16 +0,0 @@ -import sys -import os -import tkinter as tk -from tkinter import * - -window=Tk() - -window.title("Running Python Script") -window.geometry('250x250') -def callback(): - with open("AiVirtualMouseProject.py", "r", encoding="utf-8") as file: - exec(file.read()) -b = tk.Button(window,text="Run Virtual Mouse",command=callback) -b.pack() - -window.mainloop() \ No newline at end of file diff --git a/proton.py b/proton.py deleted file mode 100644 index 2e9e6e0..0000000 --- a/proton.py +++ /dev/null @@ -1,253 +0,0 @@ -import pyttsx3 -import speech_recognition as sr -from datetime import date -import time -import webbrowser -import datetime -from pynput.keyboard import Key, Controller -import pyautogui -import sys -import os -from os import listdir -from os.path import isfile, join -import smtplib -import wikipedia -# import Gesture_Controller -import AiVirtualMouseProject -#import Gesture_Controller_Gloved as Gesture_Controller -import app -from threading import Thread - - -# -------------Object Initialization--------------- -today = date.today() -r = sr.Recognizer() -keyboard = Controller() -engine = pyttsx3.init('sapi5') -engine = pyttsx3.init() -voices = engine.getProperty('voices') -engine.setProperty('voice', voices[0].id) - -# ----------------Variables------------------------ -file_exp_status = False -files =[] -path = '' -is_awake = True #Bot status - -# ------------------Functions---------------------- -def reply(audio): - app.ChatBot.addAppMsg(audio) - - print(audio) - engine.say(audio) - engine.runAndWait() - - -def wish(): - hour = int(datetime.datetime.now().hour) - - if hour>=0 and hour<12: - reply("Good Morning!") - elif hour>=12 and hour<18: - reply("Good Afternoon!") - else: - reply("Good Evening!") - - reply("I am Proton, how may I help you?") - -# Set Microphone parameters -with sr.Microphone() as source: - r.energy_threshold = 500 - r.dynamic_energy_threshold = False - -# Audio to String -def record_audio(): - with sr.Microphone() as source: - r.pause_threshold = 0.8 - voice_data = '' - audio = r.listen(source, phrase_time_limit=5) - - try: - voice_data = r.recognize_google(audio) - except sr.RequestError: - reply('Sorry my Service is down. Plz check your Internet connection') - except sr.UnknownValueError: - print('cant recognize') - pass - return voice_data.lower() - - -# Executes Commands (input: string) -def respond(voice_data): - global file_exp_status, files, is_awake, path - print(voice_data) - voice_data.replace('proton','') - app.eel.addUserMsg(voice_data) - - if is_awake==False: - if 'wake up' in voice_data: - is_awake = True - wish() - - # STATIC CONTROLS - elif 'hello' in voice_data: - wish() - - elif 'what is your name' in voice_data: - reply('My name is Proton!') - - elif 'date' in voice_data: - reply(today.strftime("%B %d, %Y")) - - elif 'time' in voice_data: - reply(str(datetime.datetime.now()).split(" ")[1].split('.')[0]) - - elif 'search' in voice_data: - reply('Searching for ' + voice_data.split('search')[1]) - url = 'https://google.com/search?q=' + voice_data.split('search')[1] - try: - webbrowser.get().open(url) - reply('This is what I found Sir') - except: - reply('Please check your Internet') - - elif 'location' in voice_data: - reply('Which place are you looking for ?') - temp_audio = record_audio() - app.eel.addUserMsg(temp_audio) - reply('Locating...') - url = 'https://google.nl/maps/place/' + temp_audio + '/&' - try: - webbrowser.get().open(url) - reply('This is what I found Sir') - except: - reply('Please check your Internet') - - elif ('bye' in voice_data) or ('by' in voice_data): - reply("Good bye Sir! Have a nice day.") - is_awake = False - - elif ('exit' in voice_data) or ('terminate' in voice_data): - if AiVirtualMouseProject.gc_mode: - AiVirtualMouseProject.gc_mode = 0 - app.ChatBot.close() - #sys.exit() always raises SystemExit, Handle it in main loop - sys.exit() - - - # DYNAMIC CONTROLS - elif 'launch app' in voice_data: - # if AiVirtualMouseProject.gc_mode: - # reply('Gesture recognition is already active') - # else: - # gc = AiVirtualMouseProject.Gesture_Controller() - # t = Thread(target = gc.start) - # t.start() - reply('Launched Successfully') - AiVirtualMouseProject.Gesture_Controller() - - - elif ('stop gesture recognition' in voice_data) or ('top gesture recognition' in voice_data): - if AiVirtualMouseProject.gc_mode: - AiVirtualMouseProject.gc_mode = 0 - reply('Gesture recognition stopped') - else: - reply('Gesture recognition is already inactive') - - elif 'copy' in voice_data: - with keyboard.pressed(Key.ctrl): - keyboard.press('c') - keyboard.release('c') - reply('Copied') - - elif 'page' in voice_data or 'pest' in voice_data or 'paste' in voice_data: - with keyboard.pressed(Key.ctrl): - keyboard.press('v') - keyboard.release('v') - reply('Pasted') - - # File Navigation (Default Folder set to C://) - elif 'list' in voice_data: - counter = 0 - path = 'C://' - files = listdir(path) - filestr = "" - for f in files: - counter+=1 - print(str(counter) + ': ' + f) - filestr += str(counter) + ': ' + f + '
' - file_exp_status = True - reply('These are the files in your root directory') - app.ChatBot.addAppMsg(filestr) - - elif file_exp_status == True: - counter = 0 - if 'open' in voice_data: - if isfile(join(path,files[int(voice_data.split(' ')[-1])-1])): - os.startfile(path + files[int(voice_data.split(' ')[-1])-1]) - file_exp_status = False - else: - try: - path = path + files[int(voice_data.split(' ')[-1])-1] + '//' - files = listdir(path) - filestr = "" - for f in files: - counter+=1 - filestr += str(counter) + ': ' + f + '
' - print(str(counter) + ': ' + f) - reply('Opened Successfully') - app.ChatBot.addAppMsg(filestr) - - except: - reply('You do not have permission to access this folder') - - if 'back' in voice_data: - filestr = "" - if path == 'C://': - reply('Sorry, this is the root directory') - else: - a = path.split('//')[:-2] - path = '//'.join(a) - path += '//' - files = listdir(path) - for f in files: - counter+=1 - filestr += str(counter) + ': ' + f + '
' - print(str(counter) + ': ' + f) - reply('ok') - app.ChatBot.addAppMsg(filestr) - - else: - reply('I am not functioned to do this !') - -# ------------------Driver Code-------------------- - -t1 = Thread(target = app.ChatBot.start) -t1.start() - -# Lock main thread until Chatbot has started -while not app.ChatBot.started: - time.sleep(0.5) - -wish() -voice_data = None -while True: - if app.ChatBot.isUserInput(): - #take input from GUI - voice_data = app.ChatBot.popUserInput() - else: - #take input from Voice - voice_data = record_audio() - - #process voice_data - if 'proton' in voice_data: - try: - #Handle sys.exit() - respond(voice_data) - except SystemExit: - reply("Exit Successfull") - break - except: - #some other exception got raised - print("EXCEPTION raised while closing.") - break \ No newline at end of file diff --git a/python.py b/python.py deleted file mode 100644 index b089568..0000000 --- a/python.py +++ /dev/null @@ -1,10 +0,0 @@ -# -*- coding: utf-8 -*- - -# Form implementation generated from reading ui file 'project.ui' -# -# Created by: PyQt5 UI code generator 5.15.4 -# -# WARNING: Any manual changes made to this file will be lost when pyuic5 is -# run again. Do not edit this file unless you know what you are doing. - - diff --git a/web/css/back.png b/web/css/back.png deleted file mode 100644 index 4848dda24b47c4efe3fc6658af7bc8a3cdebcf39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1186 zcmZQzV30{GsVqn=%S>Yc0uY^>nP!-qnF!*)%1tdv1c?KIVn#|%5roOWP>`8i0%OBy zzJkn>Trh_bNGfIK}2HoS##amz-0ldl$?{Bl2{_dz{MqzrY_6O!oeXW zVARYm=)lM#;K;CL$H8-)e@)S z9Q?}t^MQR2tiz+PT&tcm`J0ie&K}W)jp=!xTfE&$LUvz!V0*yh$B8&2Q`gmx4u9S2 za`gVQ&!!a*E+$KyTl&{Y=A-sH)_GP=Iei+vs|#MUJ0|H>ZCY@aQN`W<*T1L5oEtCo z|NGe7bS7XmlY9QlY}bePA|jsm1ua#W&#pOd8vEh7x-wc@=6+YOQF~ur?j@|aVw=al zq)?uJ{u@tjEarXaQqA-I)^{;;|H)BIZ>B^RuySvyD{Bz6Iz8R0Kr}kzPPCV2`^592 z%EjMSPrPDzaaH;ITo3!__Gzs%)V3>4eZF%7U*PM4t5bi59DTKR>B+`(mwayLGG9M# z9?X=o-qzxtg8Gw#pDX&Ayl1)mf6bTr@elJ!Wu-@1znH#Xoc3>~%BQLQZ?~&!gyf3{ zx2nr;{19+MYVFYjN!KI#b{DOSE-3R}+4pBUgYU~<6K?%r6Rn>5Zaf7`ukHk(HD z;mV)K7cw|DUX7hqq_XIhRNKx^L3a=D3T9kZ(`ezXhUJ14$Ma$}R`XaCh^bKlPBoIW8fqlC$C{n;x! zROe*dgub|0&HSp1J?TK)lvtBr&h|`8g_Cb8))7Dor{!9`|)?Lv1D`$cC>|@adoRixn)82=am!0(&vp6YJ<+xaWEqn7>HRl`q zBNJPGpZt8lC(7(%;=j$y%?^5XaNpOGahPryq>z#Q{jFSVUc(HZZ2nJ|c4&F5W>}EE U@r$;&R`qJ{nF8Ha_GOI`0AY*tD*ylh diff --git a/web/css/jquery.convform.css b/web/css/jquery.convform.css deleted file mode 100644 index 2def61b..0000000 --- a/web/css/jquery.convform.css +++ /dev/null @@ -1,367 +0,0 @@ -* { - margin: 0px; - padding: 0px; - /* font-family: sans-serif; */ - font-family: "Comic Sans MS"; -} - -div.convFormDynamic { - width: calc(100% - 33px); - margin: 10px auto 15px; - padding: 0 !important; - position: relative; - /* box-shadow: 0 0 5px 5px rgba(222, 222, 222, 0.4); */ -} - -div.convFormDynamic input.userInputDynamic { - border: none; - padding: 6px 6px; - outline: none; - font-size: 0.905rem; - float: left; - width: 72%; - height: 25%; - line-height: 1.3em; - min-height: 1.7em; - max-height: 10rem; - display: block; - max-width: 72%; - margin-right: 2.5%; -} -div.conv-form-wrapper:after { - content: ''; - display: block; - clear: both; - width: 100%; - height: 1px; -} -div.conv-form-wrapper div#messages { - max-height: 71vh; - padding-left: 10px; - padding-right: 10px; - height: auto !important; - overflow-y: scroll; - scrollbar-width: none; - -ms-overflow-style: none; /* IE 11 */ -} -div.conv-form-wrapper * { - scrollbar-width: none; - -ms-overflow-style: none; -} -div.conv-form-wrapper div#messages:after { - content: ''; - display: table; - clear: both; -} -div.conv-form-wrapper { - position: relative; -} -div.conv-form-wrapper div.wrapper-messages { - position: relative; - height: 600px; - overflow-y: scroll; - transition: margin 0.1s; -} -div.conv-form-wrapper:before { - content: ''; - position: absolute; - width: 100%; - display: block; - height: 10px; - top: 0; - left: 0; - z-index: 2; - background: linear-gradient(#000000, transparent); -} -@media (max-width: 767px) { - div.conv-form-wrapper div.wrapper-messages, div.conv-form-wrapper div#messages { - max-height: 71vh; - } -} - -div.conv-form-wrapper div.wrapper-messages::-webkit-scrollbar, div#feed ul::-webkit-scrollbar, div.conv-form-wrapper div.options::-webkit-scrollbar { - width: 0px; - height: 0px; - /* remove scrollbar space */ - background: transparent; - /* optional: just make scrollbar invisible */ -} - -input.userInputDynamic.error { - color: #ac0000 !important; -} -input.userInputDynamic { - border-radius: 3px; - margin: 7px 10px; -} - -div.conv-form-wrapper div#messages { - position: relative; - bottom: 0; - margin-left: -5px; - height: auto !important; - width: 97%; - padding-bottom: 20px; -} -div.conv-form-wrapper div.options { - word-wrap: normal; - white-space: nowrap; - overflow-x: scroll; - position: absolute; - bottom: 100%; - width: 100%; - transform: translateY(-5px); -} - -div.conv-form-wrapper div.message:after { - content: ''; - display: table; - clear: both; -} -div.conv-form-wrapper div.message.ready.rtol { - animation: slideRtoLIn 0.5s ease; - transform-origin: 0 0 0; -} -div.conv-form-wrapper div.message.ready.ltor { - animation: slideLtoRIn 0.5s ease; - transform-origin: 0 0 0; -} -div.conv-form-wrapper div#messages div.message { - border-radius: 20px; - padding: 12px 22px; - font-size: 0.905rem; - color: #333; - display: inline-block; - padding: 10px 15px 8px; - border-radius: 20px; - margin-bottom: 5px; - float: right; - clear: both; - max-width: 65%; - word-wrap: break-word; -} -/* div.conv-form-wrapper div#messages { - background: linear-gradient(to right, #388eff 29%, #70aeff 81%); - color: #fff; - float: left; - border-top-left-radius: 0; -} */ -div.conv-form-wrapper div#messages div.message.to{ - float:left; - border-top-left-radius: 0; -} -div.message.to { - background: rgba(24, 24, 16, .2); - border-radius: 2em; - backdrop-filter: blur(15px); - border: 2px solid rgba(255, 255, 255, 0.05); - background-clip: padding-box; - box-shadow: 10px 10px 10px rgba(46, 54, 68, 0.03); - color: white; -} - -/* div.conv-form-wrapper div#messages div.message.from { - background: linear-gradient(to left, #38ff84 0%, #98fbbe 100%); - color: #000000; - border-top-right-radius: 0; -} */ -div.conv-form-wrapper div#messages div.message.from{ - float:right; - border-top-left-radius: 0; -} -div.message.from { - background: rgba(24, 24, 16, .2); - border-radius: 2em; - backdrop-filter: blur(15px); - border: 2px solid rgba(255, 255, 255, 0.05); - background-clip: padding-box; - box-shadow: 10px 10px 10px rgba(46, 54, 68, 0.03); - color: white; -} -.message.to+.message.from, .message.from+.message.to { - margin-top: 15px; -} -@keyframes slideRtoLIn { - 0% { - margin-right: -50px; - } - - 100% { - margin-right: 0px; - } -} -@keyframes slideLtoRIn { - 0% { - margin-left: -50px; - } - - 100% { - margin-left: 0; - } -} - -div.convFormDynamic button.submit { - padding: 3px; - border: none; - float: left; - margin: 5px; - color: #06c5a6; - cursor: pointer; - border-radius: 8px; - font-size: 1.1rem; - width: 36px; - height: 35px; - margin-top: 8px; - background: #fff; - outline: none !important; -} - - -div.convFormDynamic button.submit:hover { - background: #06b79a; - color: #fff; -} - -button.submit.glow { - box-shadow: 0 0 10px 5px rgba(6, 197, 166, 0.4); -} -.no-border { - border: none !important; -} -.dragscroll { - cursor: grab; -} -div.conv-form-wrapper div#messages::-webkit-scrollbar, div#feed ul::-webkit-scrollbar { - width: 0px; - /* remove scrollbar space */ - background: transparent; - /* optional: just make scrollbar invisible */ -} -span.clear { - display: block; - clear: both; -} - - -.header-wrapper { - background-color: #000000; - color: white; - width: auto; - height: 20px; - top: 0px; - left: 0px; - padding-left: 10px; - padding-top: 5px; - padding-bottom: 25px; - padding-right: 20px; - text-align: right; -} -.logo{ - position: fixed; - top: 0px; - left: 5%; - padding: 10px; - padding-bottom: 20px; -} - -.chatBody { - overflow:hidden; - /* background: #1a1a2e; */ - /* background: url("back.png"); */ - /* background-image: linear-gradient(-20deg, #00cdac 0%, #8ddad5 100%); */ - - /* background: linear-gradient(to bottom right, rgba(252, 203, 144, 1), rgba(213, 126, 235, 1)); - background-size: cover; - background-repeat: no-repeat; */ - - /* background-image: url("back.png"); - background-repeat: no-repeat; - background-position: 0% 0%; - background-size: 100% 100%; */ - - width: 100vw; - min-height: 100vh; - background: linear-gradient(to bottom right, rgba(252, 203, 144, 1), rgba(213, 126, 235, 1)); -} - - -.awesome { - font-family: "Comic Sans MS"; - - width:100%; - margin-top: 12px; - margin-left: 12px; - text-align: center; - - color:#313131; - font-size:16px; - font-weight: bold; - position: absolute; - -webkit-animation:colorchange 20s infinite alternate; -} - -@-webkit-keyframes colorchange { - 0% { - - color: lightblue; - } - - 10% { - - color: #8e44ad; - } - - 20% { - - color: #1abc9c; - } - - 30% { - - color: #7afad8; - } - - 40% { - - color: lightblue; - } - - 50% { - - color: #70b8ff; - } - - 60% { - - color: lightblue; - } - - 70% { - - color: #2980b9; - } - 80% { - - color: #67d962; - } - - 90% { - - color: #62c7d9; - } - - 100% { - - color: #9ee84f; - } -} - - -.mask-custom { - background: rgba(24, 24, 16, .2); - border-radius: 2em; - backdrop-filter: blur(15px); - border: 2px solid rgba(255, 255, 255, 0.05); - background-clip: padding-box; - box-shadow: 10px 10px 10px rgba(46, 54, 68, 0.03); -} \ No newline at end of file diff --git a/web/images/icon.png b/web/images/icon.png deleted file mode 100644 index a9c5dc6b04fe18f91f8eca4e3dd8948d77dcbe87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 192932 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%0A0JUi21Tx^ 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 diff --git a/web/images/purple-gradient-bar.png b/web/images/purple-gradient-bar.png deleted file mode 100644 index 43a5dfaff6dbed56d4dbb6bc26fef225f41544a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 83248 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 diff --git a/web/images/purple-gradient.jpg b/web/images/purple-gradient.jpg deleted file mode 100644 index d749dc500c3673ca685dec1f5ea4ea823fa09879..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69354 zcmeHQ-BKGz7H%QLkHEFYR=mVT)&koBB>`z9h>Z$tCm1ib%UcF}<6U2^Kwz|q5dpjq zSM9~#`T_Q3wp^~t3;7lHJKcR+Gm@P0+@xwZAIzv{dU|?#PMY8X3jsj zcmJNrWHM$0|HfT7k7WIV`czHpW|dZbHQYBoI$S1L?It{Wvce9 zfKslimKn4q^?b?<Q3o$q%~irc#{S_iAM@Bi~|w%BT}&OTduRC#o`w!7cjczv|{AZSlSc9EMf1&Ct$AZ9x>?Vh*q*lAKiv8#9&M%EecMV|8X9Z(EtdmW;3z;2U@ZO$e|$(PAQM~!S1JgkDopGm zxKcqNRbgTm!IcUEsR|Rj2(DBRNL85FMR28pK&ryTE`lo+1X2|yb`e~uAdspsv5VkJ z1%XtBiCqL&DhQ-1Oza}KQb8b9VPY4-l?no>3KP2su2c|6RhZaCaHWDks=~xBf-4mS zQWYk45nQPtkg71Ti{MHHfmDTwT?AJu2&5`Z>>{{QK_FFOVi&=c3IeGL6T5zOaCN*d zb`RikaSGoG=eJ?j%*fEt@KA1KczAepbR<7sI5$2vHvZ{_i@z&;cKOO5KD#_MRlK$^ zTb%jo>eSTSjnY?@XmN4z%Ixy$&FacRZLz8qWkyFw$H&Ge&z+mBPESo&Q~&vjCPoHt z4&ykRnK1(sne2qPp<**v;E|d`>e<@W^O>%ojp(-V9{2*@3}qE;op9 z8kv8hlo_1JU6_u(8M?UH7@qmD;9HH-BUit5w|=ta(rdNtBOHz9Fa3V<)63UCpPegx zvAFd0jhoB$wY%&0{Nl8(UJOx{##ezH7fWNp?PX*#0-Q3glLOe}W7`r2h%8IRP+IUUTHdnW1#BnsMncWSx zxS)XUi*T+|#TiL^kS+6YqqML67*B1JJOY;jj-f{B5mzyO^+N9`^XQc9#eSnL)P;jM zOt%D?l&a|9u-*Lgzr#H`0K*`}JK{aJCOc^E#$-2khZ^(^5(5LZm{Kbj!@vBTrIVZM zAH>pMs?j2|3`apyzyI<8lJ`L0ZZvREbXCtyTEu)TK=K1w-ZJa1;`dAJEAEUWK41)} z1xbAWK|m58KB^?~iElAUyf8V~gjfeg#AV^P&qsqK-a$v1-6ZSdISW@r84_~wfCpwM zs~EWKORtE=M=Yh6m|-Rdmf zscxmZ6)F)1Fc7H?jV9qXLqQF_TQL??PN!pnu1^WZih`Oh*YHGC6q%ARMvcgB#BwJD zMq-Q_7buGARx83_jG7?Y1GVTihO$ddp#Q@#NxT?s*{qh)#Odl!shAjAbPfnBQqMi4QO%O#%o)LCM8qTrilh z4JD}*Q_~#1Tj|}(V8XDA77<5+-&D(3h9MKXu6~{Q7UAje?|+w@;wDRX;2YLl*R_RJXbTlV=z*p(6h~ zVaT?+&8}onTbnG%_+^C&or)>rsd^AUQ5Dh|=Pvae%bVazkH=PbEkOb4;!A5ycqlXs zUdyn#q1l=?&_p@LLtJP?c`7zj@-$i>gFFq-^3cXm)Ph~<5Z<)sDSzv(O=|^``^TgH zuA0IN<*jN}TdZkM%Rl%GUoW1pUf5DSoTigv;L?GRG{avi1)_{h>tZhz#lK@6z - - - Proton - - - - - -
-
-

PROTON Welcomes you!

- -
-
- - -
- -
- -
- -
-
-

-
-
- -
-
- - - -
- -
- - - - diff --git a/web/js/main.js b/web/js/main.js deleted file mode 100644 index ea111bf..0000000 --- a/web/js/main.js +++ /dev/null @@ -1,49 +0,0 @@ - -//user clicked button -document.getElementById("userInputButton").addEventListener("click", getUserInput, false); -//user pressed enter '13' -document.getElementById("userInput").addEventListener("keyup", function (event) { - if (event.keyCode === 13) { - //cancel the default action - event.preventDefault(); - //process event - getUserInput(); - } -}); - -eel.expose(addUserMsg); -eel.expose(addAppMsg); - - -function addUserMsg(msg) { - element = document.getElementById("messages"); - element.innerHTML += '
' + msg + '
'; - element.scrollTop = element.scrollHeight - element.clientHeight - 15; - //add delay for animation to complete and then modify class to => "message from" - index = element.childElementCount - 1; - setTimeout(changeClass.bind(null, element, index, "message from"), 500); -} - -function addAppMsg(msg) { - element = document.getElementById("messages"); - element.innerHTML += '
' + msg + '
'; - element.scrollTop = element.scrollHeight - element.clientHeight - 15; - //add delay for animation to complete and then modify class to => "message to" - index = element.childElementCount - 1; - setTimeout(changeClass.bind(null, element, index, "message to"), 500); -} - -function changeClass(element, index, newClass) { - console.log(newClass +' '+ index); - element.children[index].className = newClass; -} - - -function getUserInput() { - element = document.getElementById("userInput"); - msg = element.value; - if (msg.length != 0) { - element.value = ""; - eel.getUserInput(msg); - } -} \ No newline at end of file