'yes' page styles.

Commit
43eae3a4a86db4878b670b7efc14e01bd4c06e0f
Author
blendoit <blendoit@gmail.com>
Author date
Committer
blendoit <blendoit@gmail.com>
Committer date
Changed files
Pipfile
index 15e2a5d5..47b16c4f 100644..100644
@@ -11,8 +11,7 @@
11 11 uwsgi = "*"
12 12 flask-socketio = "*"
13 13 flask-sqlalchemy = "*"
14 Removed: pymysql = "*"
15 Removed: sqlalchemy = "*"
14 Added: psycopg2 = "*"
16 15
17 16 [requires]
18 17 python_version = "3.8"
Pipfile.lock
index 81a40a97..0fb0f26e 100644..100644
@@ -1,7 +1,7 @@
1 1 {
2 2 "_meta": {
3 3 "hash": {
4 Removed: "sha256": "45e0b8d6a2539692d1e7c95574a2ab2b419bd7d2ea86d84b5ee2a23e23dca9af"
4 Added: "sha256": "9da6e208bd9f0c1e21efeea29b22ff142961469889f826c3e4404a3930b487d0"
5 5 },
6 6 "pipfile-spec": 6,
7 7 "requires": {
@@ -107,13 +107,24 @@
107 107 ],
108 108 "version": "==1.1.1"
109 109 },
110 Removed: "pymysql": {
110 Added: "psycopg2": {
111 111 "hashes": [
112 Removed: "sha256:3943fbbbc1e902f41daf7f9165519f140c4451c179380677e6a848587042561a",
113 Removed: "sha256:d8c059dcd81dedb85a9f034d5e22dcb4442c0b201908bede99e306d65ea7c8e7"
112 Added: "sha256:4212ca404c4445dc5746c0d68db27d2cbfb87b523fe233dc84ecd24062e35677",
113 Added: "sha256:47fc642bf6f427805daf52d6e52619fe0637648fe27017062d898f3bf891419d",
114 Added: "sha256:72772181d9bad1fa349792a1e7384dde56742c14af2b9986013eb94a240f005b",
115 Added: "sha256:8396be6e5ff844282d4d49b81631772f80dabae5658d432202faf101f5283b7c",
116 Added: "sha256:893c11064b347b24ecdd277a094413e1954f8a4e8cdaf7ffbe7ca3db87c103f0",
117 Added: "sha256:92a07dfd4d7c325dd177548c4134052d4842222833576c8391aab6f74038fc3f",
118 Added: "sha256:965c4c93e33e6984d8031f74e51227bd755376a9df6993774fd5b6fb3288b1f4",
119 Added: "sha256:9ab75e0b2820880ae24b7136c4d230383e07db014456a476d096591172569c38",
120 Added: "sha256:b0845e3bdd4aa18dc2f9b6fb78fbd3d9d371ad167fd6d1b7ad01c0a6cdad4fc6",
121 Added: "sha256:dca2d7203f0dfce8ea4b3efd668f8ea65cd2b35112638e488a4c12594015f67b",
122 Added: "sha256:ed686e5926929887e2c7ae0a700e32c6129abb798b4ad2b846e933de21508151",
123 Added: "sha256:ef6df7e14698e79c59c7ee7cf94cd62e5b869db369ed4b1b8f7b729ea825712a",
124 Added: "sha256:f898e5cc0a662a9e12bde6f931263a1bbd350cfb18e1d5336a12927851825bb6"
114 125 ],
115 126 "index": "pypi",
116 Removed: "version": "==0.9.3"
127 Added: "version": "==2.8.4"
117 128 },
118 129 "python-engineio": {
119 130 "hashes": [
@@ -140,7 +151,6 @@
140 151 "hashes": [
141 152 "sha256:64a7b71846db6423807e96820993fa12a03b89127d278290ca25c0b11ed7b4fb"
142 153 ],
143 Removed: "index": "pypi",
144 154 "version": "==1.3.13"
145 155 },
146 156 "uwsgi": {
README.org
index 4197c414..4864a78f 100644..100644
@@ -1,7 +1,6 @@
1 1 #+TITLE: README.org for =yesno=
2 2 #+AUTHOR: Marius P. and Vaqar S.
3 Removed: #+DATE: 22 Jan. 2020
4 Removed: #+LATEX_HEADER: \usepackage{fullpage}
3 Added: #+DATE: Created: <2020-01-22 Wed> \break Updated: <2020-02-05 Wed>
5 4
6 5 * Folder structure
7 6
@@ -39,12 +38,21 @@
39 38 * Prerequisites
40 39
41 40 1. A Python interpreter and the following dependencies:
42 Removed: 1. =Flask=
41 Added: | Dependency | Minimum version |
42 Added: |--------------------+-----------------|
43 Added: | =flask= | |
44 Added: | =flask-wtf= | |
45 Added: | =uwsgi= | |
46 Added: | =flask-socketio= | |
47 Added: | =flask-sqlalchemy= | |
48 Added: | =psycopg2= | |
49 Added:
43 50 2. A web browser
44 51
45 52 * Installation
46 53
47 Removed: Install Python.
54 Added: 1. Install Python
55 Added: 2. Install dependencies
48 56
49 57 * Viewing the website
50 58
README.pdf
index 9859189a..b8d2bbf9 100644..100644

Binary files differ

README.tex
index 0483e295..e1332386 100644..100644
@@ -1,4 +1,4 @@
1 Removed: % Created 2020-01-22 Wed 20:21
1 Added: % Created 2020-02-05 Wed 15:56
2 2 % Intended LaTeX compiler: pdflatex
3 3 \documentclass[11pt]{article}
4 4 \usepackage[utf8]{inputenc}
@@ -14,9 +14,8 @@
14 14 \usepackage{amssymb}
15 15 \usepackage{capt-of}
16 16 \usepackage{hyperref}
17 Removed: \usepackage{fullpage}
18 17 \author{Marius P. and Vaqar S.}
19 Removed: \date{22 Jan. 2020}
18 Added: \date{Created: \textit{<2020-01-22 Wed> } \break Updated: \textit{<2020-02-05 Wed>}}
20 19 \title{README.org for \texttt{yesno}}
21 20 \hypersetup{
22 21 pdfauthor={Marius P. and Vaqar S.},
@@ -32,69 +31,83 @@
32 31
33 32
34 33 \section{Folder structure}
35 Removed: \label{sec:org7993fb5}
34 Added: \label{sec:org077247d}
36 35
37 36 \subsection{\texttt{Pipfile}}
38 Removed: \label{sec:org80836f9}
37 Added: \label{sec:org4222668}
39 38 Inspecting this file reveals the Python dependencies required by the Flask application.
40 39 The convenient \texttt{pipenv} Python package bundles together the creation of virtual environments and populating these virtual environments using the same commands as \texttt{pip}. For more information on \texttt{pipenv}, visit \href{https://github.com/pypa/pipenv}{the official pipenv page}.
41 40
42 41 \subsection{\texttt{Pipfile.lock}}
43 Removed: \label{sec:orgf06ab89}
42 Added: \label{sec:org425064c}
44 43 This file contains checksums for the packages installed via \texttt{pipenv}.
45 44
46 45 \subsection{\texttt{README.org}}
47 Removed: \label{sec:org1715543}
46 Added: \label{sec:orgdff75cc}
48 47 This is the file you are currently reading. Github automatically formats README files and presents underneath the code explorer.
49 48
50 49 \subsection{\texttt{app} directory}
51 Removed: \label{sec:org67d9e1d}
50 Added: \label{sec:orgac83665}
52 51 Contains \texttt{.py} Python scripts calling the \texttt{Flask} library in order to serve web pages to the end user.
53 52
54 53 \subsubsection{\texttt{static}}
55 Removed: \label{sec:org250fc10}
54 Added: \label{sec:orgb2e5456}
56 55 Static files and assets do not change during the \texttt{Flask} application's execution.
57 56
58 57 \begin{enumerate}
59 58 \item \texttt{img}
60 Removed: \label{sec:org6b963c3}
59 Added: \label{sec:org7afe92f}
61 60 This is where website images are saved. User images will be stored in a database, which is currently not implemented.
62 61
63 62 \item \texttt{styles}
64 Removed: \label{sec:org860737a}
63 Added: \label{sec:org4bfb4f4}
65 64 Here, we store \texttt{CSS} style sheets. These contain appearance information for elements described in \texttt{HTML} documents.
66 65 \end{enumerate}
67 66
68 67 \subsubsection{\texttt{templates}}
69 Removed: \label{sec:orgae70d36}
68 Added: \label{sec:org4f7742b}
70 69 In the templates folder, we organise our \texttt{HTML} templates. Rather than simple \texttt{HTML} documents which always present the same content to all users, templates are rendered to the user's browser by the application and are populated during loading with content we can request via the Python application.
71 70
72 71 \subsubsection{\texttt{routes.py}}
73 Removed: \label{sec:orge3ac7eb}
72 Added: \label{sec:org691e421}
74 73 This Python file containes our website routes. These are the names of our website's pages, followed by functions describing actions performed on the server side every time a user visits a certain page.
75 74
76 75 \subsubsection{\texttt{forms.py}}
77 Removed: \label{sec:org934f5b3}
76 Added: \label{sec:org18bbfe0}
78 77 This Python file contains the forms that our user will sign in throughout the website (registration, login). Possible implementation of the messaging system as a series of forms sent from user to user.
79 78
80 79 \section{Prerequisites}
81 Removed: \label{sec:orgf8c00d7}
80 Added: \label{sec:org37f495c}
82 81
83 82 \begin{enumerate}
84 83 \item A Python interpreter and the following dependencies:
85 Removed: \begin{enumerate}
86 Removed: \item \texttt{Flask}
87 Removed: \end{enumerate}
84 Added: \begin{center}
85 Added: \begin{tabular}{ll}
86 Added: Dependency & Minimum version\\
87 Added: \hline
88 Added: \texttt{flask} & \\
89 Added: \texttt{flask-wtf} & \\
90 Added: \texttt{uwsgi} & \\
91 Added: \texttt{flask-socketio} & \\
92 Added: \texttt{flask-sqlalchemy} & \\
93 Added: \texttt{psycopg2} & \\
94 Added: \end{tabular}
95 Added:
96 Added: \end{center}
97 Added:
88 98 \item A web browser
89 99 \end{enumerate}
90 100
91 101 \section{Installation}
92 Removed: \label{sec:org41d3c46}
102 Added: \label{sec:org4f8f49c}
93 103
94 Removed: Install Python.
104 Added: \begin{enumerate}
105 Added: \item Install Python
106 Added: \item Install dependencies
107 Added: \end{enumerate}
95 108
96 109 \section{Viewing the website}
97 Removed: \label{sec:orgff7b5c7}
110 Added: \label{sec:org61e9d73}
98 111
99 112 \begin{enumerate}
100 113 \item Run the \texttt{routes.py} script using your Python interpreter.
app/placeholder_messages.py
index 62258598..b48c3a60 100644..100644
@@ -1,39 +1,199 @@
1 Removed: messages = [{
2 Removed: 'author': 'A.Banyan_97',
3 Removed: 'date': 'Dec. 26th, 2019',
4 Removed: 'content': "How is it going?"
1 Added: conversations = [{
2 Added: 'title': 'Code meee',
3 Added: 'messages': {
4 Added: '1': {
5 Added: 'author': 'vaqarsyed',
6 Added: 'date': 'Jan. 31st 2020',
7 Added: 'content': 'Yo tryna code tonight?'
8 Added: },
9 Added: '2': {
10 Added: 'author': 'blendoit',
11 Added: 'date': 'Jan. 31st 2020',
12 Added: 'content': 'Sure, what time are you tryna meet up?'
13 Added: },
14 Added: '3': {
15 Added: 'author': 'vaqarsyed',
16 Added: 'date': 'Jan. 31st 2020',
17 Added: 'content': 'Maybe 8 or 9 sara7a.'
18 Added: },
19 Added: '4': {
20 Added: 'author':
21 Added: 'blendoit',
22 Added: 'date':
23 Added: 'Jan. 31st 2020',
24 Added: 'content':
25 Added: 'Perfect, I should be done with this fluid mechanics homework in the meantime, ah.'
26 Added: },
27 Added: '5': {
28 Added: 'author': 'vaqarsyed',
29 Added: 'date': 'Jan. 31st 2020',
30 Added: 'content': 'Ok cool, see you then.'
31 Added: }
32 Added: }
5 33 }, {
6 Removed: 'author': 'itsgeorgeeid',
7 Removed: 'date': 'Dec. 25th, 2019',
8 Removed: 'content': "Bas man we should have a private sesh."
34 Added: 'title': 'Second Convo',
35 Added: 'messages': {
36 Added: '1': {
37 Added: 'author': 'vaqarsyed',
38 Added: 'date': 'Jan. 31st 2020',
39 Added: 'content': 'Yo tryna code tonight?'
40 Added: },
41 Added: '2': {
42 Added: 'author': 'blendoit',
43 Added: 'date': 'Jan. 31st 2020',
44 Added: 'content': 'Sure, what time are you tryna meet up?'
45 Added: },
46 Added: '3': {
47 Added: 'author': 'vaqarsyed',
48 Added: 'date': 'Jan. 31st 2020',
49 Added: 'content': 'Maybe 8 or 9 sara7a.'
50 Added: },
51 Added: '4': {
52 Added: 'author':
53 Added: 'blendoit',
54 Added: 'date':
55 Added: 'Jan. 31st 2020',
56 Added: 'content':
57 Added: 'Perfect, I should be done with this fluid mechanics homework in the meantime, ah.'
58 Added: },
59 Added: '5': {
60 Added: 'author': 'vaqarsyed',
61 Added: 'date': 'Jan. 31st 2020',
62 Added: 'content': 'Ok cool, see you then.'
63 Added: }
64 Added: }
9 65 }, {
10 Removed: 'author': 'Country_V',
11 Removed: 'date': 'Dec. 24th, 2019',
12 Removed: 'content': "Have you checked out Young Thug's latest leak?!"
66 Added: 'title': 'Third Convo',
67 Added: 'messages': {
68 Added: '1': {
69 Added: 'author': 'vaqarsyed',
70 Added: 'date': 'Jan. 31st 2020',
71 Added: 'content': 'Yo tryna code tonight?'
72 Added: },
73 Added: '2': {
74 Added: 'author': 'blendoit',
75 Added: 'date': 'Jan. 31st 2020',
76 Added: 'content': 'Sure, what time are you tryna meet up?'
77 Added: },
78 Added: '3': {
79 Added: 'author': 'vaqarsyed',
80 Added: 'date': 'Jan. 31st 2020',
81 Added: 'content': 'Maybe 8 or 9 sara7a.'
82 Added: },
83 Added: '4': {
84 Added: 'author':
85 Added: 'blendoit',
86 Added: 'date':
87 Added: 'Jan. 31st 2020',
88 Added: 'content':
89 Added: 'Perfect, I should be done with this fluid mechanics homework in the meantime, ah.'
90 Added: },
91 Added: '5': {
92 Added: 'author': 'vaqarsyed',
93 Added: 'date': 'Jan. 31st 2020',
94 Added: 'content': 'Ok cool, see you then.'
95 Added: }
96 Added: }
13 97 }, {
14 Removed: 'author':
15 Removed: 'Blendoit',
16 Removed: 'date':
17 Removed: 'Dec. 26th, 2019',
18 Removed: 'content':
19 Removed: "Ah, I'm creating a new website with a friend from college, how about you?"
98 Added: 'title': 'Fourth Convo',
99 Added: 'messages': {
100 Added: '1': {
101 Added: 'author': 'vaqarsyed',
102 Added: 'date': 'Jan. 31st 2020',
103 Added: 'content': 'Yo tryna code tonight?'
104 Added: },
105 Added: '2': {
106 Added: 'author': 'blendoit',
107 Added: 'date': 'Jan. 31st 2020',
108 Added: 'content': 'Sure, what time are you tryna meet up?'
109 Added: },
110 Added: '3': {
111 Added: 'author': 'vaqarsyed',
112 Added: 'date': 'Jan. 31st 2020',
113 Added: 'content': 'Maybe 8 or 9 sara7a.'
114 Added: },
115 Added: '4': {
116 Added: 'author':
117 Added: 'blendoit',
118 Added: 'date':
119 Added: 'Jan. 31st 2020',
120 Added: 'content':
121 Added: 'Perfect, I should be done with this fluid mechanics homework in the meantime, ah.'
122 Added: },
123 Added: '5': {
124 Added: 'author': 'vaqarsyed',
125 Added: 'date': 'Jan. 31st 2020',
126 Added: 'content': 'Ok cool, see you then.'
127 Added: }
128 Added: }
20 129 }, {
21 Removed: 'author': 'BChon',
22 Removed: 'date': 'Jan. 26th, 2019',
23 Removed: 'content': "yo wassap"
24 Removed: }, {
25 Removed: 'author': 'Blendoit',
26 Removed: 'date': 'Dec. 26th, 2019',
27 Removed: 'content': "Ah why aren't you replying"
28 Removed: }, {
29 Removed: 'author': 'vaqarsyed',
30 Removed: 'date': 'Jan. 14th, 2019',
31 Removed: 'content': "Hrr, another day on the grind #slatt"
32 Removed: }, {
33 Removed: 'author':
34 Removed: 'christinafarhat',
35 Removed: 'date':
36 Removed: 'Dec. 26th, 2019',
37 Removed: 'content':
38 Removed: "I'm just using the first name that comes to mind at this point."
130 Added: 'title': 'Fifth Convo',
131 Added: 'messages': {
132 Added: '1': {
133 Added: 'author': 'vaqarsyed',
134 Added: 'date': 'Jan. 31st 2020',
135 Added: 'content': 'Yo tryna code tonight?'
136 Added: },
137 Added: '2': {
138 Added: 'author': 'blendoit',
139 Added: 'date': 'Jan. 31st 2020',
140 Added: 'content': 'Sure, what time are you tryna meet up?'
141 Added: },
142 Added: '3': {
143 Added: 'author': 'vaqarsyed',
144 Added: 'date': 'Jan. 31st 2020',
145 Added: 'content': 'Maybe 8 or 9 sara7a.'
146 Added: },
147 Added: '4': {
148 Added: 'author':
149 Added: 'blendoit',
150 Added: 'date':
151 Added: 'Jan. 31st 2020',
152 Added: 'content':
153 Added: 'Perfect, I should be done with this fluid mechanics homework in the meantime, ah.'
154 Added: },
155 Added: '5': {
156 Added: 'author': 'vaqarsyed',
157 Added: 'date': 'Jan. 31st 2020',
158 Added: 'content': 'Ok cool, see you then.'
159 Added: }
160 Added: }
39 161 }]
162 Added: # 'author': 'A.Banyan_97',
163 Added: # 'date': 'Dec. 26th, 2019',
164 Added: # 'content': "How is it going?"
165 Added: # }, {
166 Added: # 'author': 'itsgeorgeeid',
167 Added: # 'date': 'Dec. 25th, 2019',
168 Added: # 'content': "Bas man we should have a private sesh."
169 Added: # }, {
170 Added: # 'author': 'Country_V',
171 Added: # 'date': 'Dec. 24th, 2019',
172 Added: # 'content': "Have you checked out Young Thug's latest leak?!"
173 Added: # }, {
174 Added: # 'author':
175 Added: # 'Blendoit',
176 Added: # 'date':
177 Added: # 'Dec. 26th, 2019',
178 Added: # 'content':
179 Added: # "Ah, I'm creating a new website with a friend from college, how about you?"
180 Added: # }, {
181 Added: # 'author': 'BChon',
182 Added: # 'date': 'Jan. 26th, 2019',
183 Added: # 'content': "yo wassap"
184 Added: # }, {
185 Added: # 'author': 'Blendoit',
186 Added: # 'date': 'Dec. 26th, 2019',
187 Added: # 'content': "Ah why aren't you replying"
188 Added: # }, {
189 Added: # 'author': 'vaqarsyed',
190 Added: # 'date': 'Jan. 14th, 2019',
191 Added: # 'content': "Hrr, another day on the grind #slatt"
192 Added: # }, {
193 Added: # 'author':
194 Added: # 'christinafarhat',
195 Added: # 'date':
196 Added: # 'Dec. 26th, 2019',
197 Added: # 'content':
198 Added: # "I'm just using the first name that comes to mind at this point."
199 Added: # }]
app/routes.py
index 67b93596..301a8a84 100644..100644
@@ -23,7 +23,7 @@
23 23
24 24 from placeholder_posts import posts
25 25 from placeholder_news import news
26 Removed: from placeholder_messages import messages
26 Added: from placeholder_messages import conversations
27 27
28 28 app = Flask(__name__)
29 29 app.config['SECRET_KEY'] = 'Scooby_Lu,_where_are_you?'
@@ -62,14 +62,14 @@
62 62 @app.route("/home")
63 63 def home():
64 64 """This is our homepage."""
65 Removed: home_posts = posts + news + messages
65 Added: home_posts = posts + news + conversations
66 66 return render_template('home.html', posts=home_posts)
67 67
68 68
69 69 @app.route("/yes")
70 70 def yes():
71 71 """Another page, presenting the user with content marked as 'yes'."""
72 Removed: return render_template("yes.html", messages=messages, news=news)
72 Added: return render_template("yes.html", conversations=conversations, news=news)
73 73
74 74
75 75 @app.route("/no")
app/static/styles/default.css
index 3812189d..05413f67 100644..100644
@@ -1,7 +1,7 @@
1 1 :root {
2 2 --primary-color: #003B5C;
3 3 --secondary-color: #C3D7EE;
4 Removed: --home: rgba(200, 200, 200, 0.7);
4 Added: --home: #c8c8c8;
5 5 --yes: #5cff5c;
6 6 --no: #ff5c5c;
7 7 font-size: 18;
app/static/styles/home.css
index 290909f9..161abc80 100644..100644
@@ -1,7 +1,7 @@
1 1 /* Tabs. */
2 2 .tab-yes {
3 3 height: 100%;
4 Removed: width: 10%;
4 Added: width: 6%;
5 5 position: absolute;
6 6 left: 0;
7 7 background: var(--yes);
@@ -15,7 +15,7 @@
15 15 }
16 16 .tab-no {
17 17 height: 100%;
18 Removed: width: 10%;
18 Added: width: 6%;
19 19 position: absolute;
20 20 right: 0;
21 21 background: var(--no);
app/static/styles/yes.css
index bcaf7a46..cd0970f9 100644..100644
@@ -1,72 +1,113 @@
1 Removed: /* Main page area. */
2 1 :root {background: var(--yes);}
3 Removed:
4 Removed: .main {
2 Added: /* Feeds wrapper. */
3 Added: .feeds {
5 4 height: 100%;
6 Removed: position: relative;
7 Removed: z-index: 0;
5 Added: width: calc(100% - 6%);
6 Added: position: absolute;
8 7 overflow: hidden;
9 Removed: /* animation-name: yes-refresh; */
10 Removed: /* animation-duration: var(--slow-speed); */
8 Added: animation-name: yes-refresh;
9 Added: animation-duration: var(--med-speed);
11 10 }
12 Removed:
13 11 /* Tabs. */
14 12 .tab-no {
15 13 height: 100%;
16 14 width: 3%;
17 Removed: position: absolute;
18 Removed: right: 0;
15 Added: position: relative;
16 Added: float: right;
17 Added: z-index: 0;
19 18 background: var(--no);
20 Removed: /* animation-name: yes-refresh; */
21 Removed: /* animation-duration: var(--slow-speed); */
22 19 }
20 Added: .tab-no:hover {width: 6%; transition: var(--fast-speed);}
21 Added: .tab-no:hover ~ .tab-home {width: 6%; transition: var(--fast-speed);}
22 Added: .tab-no:hover ~ .feeds {right: 12%; transition: var(--fast-speed);}
23 23 .tab-home {
24 24 height: 100%;
25 25 width: 3%;
26 Added: position: relative;
26 27 float: right;
27 Removed: position: absolute;
28 Removed: /* background: var(--home); */
29 Removed: /* animation-name: yes-refresh; */
30 Removed: animation-duration: var(--slow-speed);
28 Added: z-index: 1;
29 Added: background: var(--home);
31 30 }
32 Removed: .tab-home:hover {
33 Removed: width: 4%;
34 Removed: transition: 0.2s;
31 Added: .tab-home:hover {width: 6%; transition: var(--fast-speed);}
32 Added: .tab-home:hover ~ .feeds {
33 Added: /* left: -3%; */
34 Added: right: 9%;
35 Added: transition: var(--fast-speed);
35 36 }
36 Removed: .tab-no:hover ~ .tab-home {
37 Removed: width: 5%;
38 Removed: transition: 0.2s;
39 Removed: }
40 Removed: .tab-no:hover {
41 Removed: width: 4%;
42 Removed: transition: 0.2s;
43 Removed: }
44 37
45 Removed:
46 38 /* Feeds. */
47 Removed: .feed-message {
39 Added: .feed-conversations {
48 40 height: 100%;
49 Removed: width: 25%;
41 Added: width: 30%;
50 42 position: relative;
51 43 float: left;
52 44 overflow: auto;
53 45 }
54 Removed: .message {
46 Added: .conversation-wrapper {
47 Added: /* background: blue; */
48 Added: height: 25%;
49 Added: position: relative;
50 Added: margin: 1rem;
51 Added: overflow: hidden;
52 Added: perspective: 600px;
53 Added: }
54 Added: .conversation-wrapper:hover {
55 Added: height: 40%;
56 Added: transition-duration: var(--med-speed);
57 Added: }
58 Added: .btn-reply {
59 Added: height: 3rem;
60 Added: width: calc(50% - 1rem);
61 Added: position: absolute;
62 Added: left: 0;
63 Added: background: var(--home);
64 Added: border-radius: 8px;
65 Added: transform: rotateX(90deg);
66 Added: transition-duration: var(--slow-speed);
67 Added: transform-origin: bottom;
68 Added: }
69 Added: .conversation-wrapper:hover > .btn-reply {transform: rotateX(0deg);}
70 Added: .btn-finish {
71 Added: height: 3rem;
72 Added: width: calc(50% - 1rem);
73 Added: position: absolute;
74 Added: right: 0;
75 Added: background: var(--no);
76 Added: border-radius: 8px;
77 Added: transform: rotateX(90deg);
78 Added: transition-duration: var(--slow-speed);
79 Added: transform-origin: bottom;
80 Added: }
81 Added: .conversation-wrapper:hover > .btn-finish {transform: rotateX(0deg);}
82 Added: .conversation {
83 Added: height: 40%;
84 Added: width: 100%;
85 Added: position: relative;
55 86 background: white;
56 Removed: border-radius: 14px;
57 Removed: padding: 1rem;
58 Removed: margin: 0.5rem;
87 Added: border-radius: 12px;
88 Added: overflow: hidden;
89 Added: transition-duration: var(--med-speed);
59 90 }
60 Removed: .message:hover {
61 Removed: background: linear-gradient(to left, var(--no) 50%, var(--yes) 50%);
62 Removed: cursor: pointer;
63 Removed: transition: 0.8s;
64 Removed: color: white;
91 Added: .conversation-wrapper:hover > .conversation {
92 Added: margin-top: 3.5rem;
93 Added: overflow: auto;
65 94 }
95 Added: .input[type=text] {
96 Added: width: 70%;
97 Added: position: relative;
98 Added: margin: 0 auto;
99 Added: /* transform: rotateX(-90deg); */
100 Added: transition-duration: var(--slow-speed);
101 Added: transform-origin: top;
102 Added: }
103 Added: conversation-wrapper:hover > .input[type=text] {
104 Added: transform: rotateX(90deg);
105 Added: width: 20%;
106 Added: }
66 107
67 108 .feed-news {
68 109 height: 100%;
69 Removed: width: 55%;
110 Added: width: 50%;
70 111 display: flex;
71 112 position: relative;
72 113 float: left;
@@ -74,27 +115,63 @@
74 115 overflow: auto;
75 116 justify-content: space-between;
76 117 }
118 Added: .news-wrapper {
119 Added: /* background: blue; */
120 Added: height: 25%;
121 Added: max-width: 40%;
122 Added: position: relative;
123 Added: margin: 1rem;
124 Added: overflow: hidden;
125 Added: perspective: 600px;
126 Added: }
127 Added: .news-wrapper:hover {
128 Added: height: 25%;
129 Added: transition-duration: var(--med-speed);
130 Added: }
77 131 .news {
78 Removed: max-height: 10%;
79 Removed: max-width: 50%;
132 Added: height: 100%;
133 Added: max-width: 100%;
80 134 background: white;
81 135 position: relative;
82 136 border-radius: 14px;
83 Removed: padding: 1rem;
84 Removed: margin: 0.5rem;
85 137 overflow: hidden;
138 Added: transition-duration: var(--med-speed);
86 139 }
87 Removed: .news:hover {
88 Removed: background: linear-gradient(to left, var(--no) 50%, var(--yes) 50%);
89 Removed: cursor: pointer;
90 Removed: transition: 0.8s;
91 Removed: color: white;
140 Added: .news-wrapper:hover > .news {
92 141 overflow: auto;
93 142 }
143 Added: .btn-comment {
144 Added: height: 3rem;
145 Added: width: calc(50% - 1rem);
146 Added: position: absolute;
147 Added: left: 0;
148 Added: background: var(--home);
149 Added: border-radius: 8px;
150 Added: transform: rotateX(90deg);
151 Added: transition-duration: var(--slow-speed);
152 Added: transform-origin: bottom;
153 Added: }
154 Added: .news-wrapper:hover > .btn-comment {transform: rotateX(0deg);}
155 Added: .btn-archive {
156 Added: height: 3rem;
157 Added: width: calc(50% - 1rem);
158 Added: position: absolute;
159 Added: right: 0;
160 Added: background: var(--no);
161 Added: border-radius: 8px;
162 Added: transform: rotateX(90deg);
163 Added: transition-duration: var(--slow-speed);
164 Added: transform-origin: bottom;
165 Added: }
166 Added: .news-wrapper:hover > .btn-archive {transform: rotateX(0deg);}
167 Added: .news-wrapper:hover > .news {
168 Added: margin-top: 3.5rem;
169 Added: overflow: auto;
170 Added: }
94 171
95 172 .feed-ads {
96 Removed: height: 100%;
97 173 width: 20%;
174 Added: height: 100%;
98 175 position: relative;
99 176 float: right;
100 177 overflow: auto;
app/templates/home.html
index 5598739c..6363601b 100644..100644
@@ -4,9 +4,7 @@
4 4 {% extends "base.html" %}
5 5 {% block content %}
6 6
7 Removed: <!-- 'Yes' tab -->
8 7 <a href="{{ url_for('yes') }}" class="tab-yes"></a>
9 Removed: <!-- 'No' tab -->
10 8 <a href="{{ url_for('no') }}" class="tab-no"></a>
11 9
12 10 <div class="feed-post">
app/templates/yes.html
index 3ccc24bc..9a2fff3d 100644..100644
@@ -4,61 +4,78 @@
4 4 {% extends "base.html" %}
5 5 {% block content %}
6 6
7 Removed: <div>
8 Removed: <a href="{{ url_for('no') }}" class="tab-no"></a>
9 Removed: <a href="{{ url_for('home') }}" class="tab-home"></a>
7 Added: <a href="{{ url_for('no') }}" class="tab-no"></a>
8 Added: <a href="{{ url_for('home') }}" class="tab-home"></a>
10 9
11 Removed: <div class="main">
10 Added: <div class="feeds">
11 Added: <div class="feed-conversations">
12 Added: {% for conversation in conversations %}
13 Added: <div class="conversation-wrapper">
14 Added: <a href="{{ url_for('yes') }}" class="btn-reply">reply</a>
15 Added: <a href="{{ url_for('yes') }}" class="btn-finish">finish conversation</a>
16 Added: <div class="conversation">
17 Added: {% if 'title' in conversation %}
18 Added: <h1>{{conversation.title}}</h1>
19 Added: {% endif %}
20 Added: <!-- {% for message in conversation.messages %} -->
21 Added: <!-- <h2>{{ message }}</h2> -->
22 Added: <!-- {% endfor %} -->
23 Added: <div class="message-received">
24 Added: <h2>author 1</h2>
25 Added: <p> message received </p>
26 Added: </div>
27 Added: <div class="message-sent">
28 Added: <h2>me</h2>
29 Added: <p> message received </p>
30 Added: </div>
31 Added: <div class="message-received">
32 Added: <h2>author 1</h2>
33 Added: <p> message received </p>
34 Added: </div>
35 Added: <div class="message-sent">
36 Added: <h2>me</h2>
37 Added: <p> message received </p>
38 Added: </div>
39 Added: <div class="message-received">
40 Added: <h2>author 1</h2>
41 Added: <p> message received </p>
42 Added: </div>
43 Added: <div class="message-sent">
44 Added: <h2>me</h2>
45 Added: <p> last message received </p>
46 Added: </div>
12 47
13 Removed: <div class="feed-message">
14 Removed: {% for message in messages %}
15 Removed: <div class="message">
16 Removed: <h1>{{message.author}}</h1>
17 Removed: <h2>{{message.date}}</h2>
18 Removed: <p>{{message.content}}</p>
19 48 </div>
20 Removed: {% endfor %}
49 Added: <input class="message-reply" name="Reply" type="text" value="reply"/>
21 50 </div>
51 Added: {% endfor %}
52 Added: <!-- <a href="{{ url_for('yes') }}" class="input">reply</a> -->
53 Added: </div>
22 54
23 Removed: <div class="feed-news">
24 Removed: {% for news in news %}
55 Added: <div class="feed-news">
56 Added: {% for news in news %}
57 Added: <div class="news-wrapper">
58 Added: <a href="{{ url_for('yes') }}" class="btn-comment">comment</a>
59 Added: <a href="{{ url_for('yes') }}" class="btn-archive">archive</a>
25 60 <div class="news">
26 61 <h1>{{news.author}}</h1>
27 62 <h2>{{news.date}}</h2>
28 63 <p>{{news.content}}</p>
29 64 </div>
30 Removed: {% endfor %}
31 65 </div>
66 Added: {% endfor %}
67 Added: </div>
32 68
33 Removed: <div class="feed-ads">
34 Removed: <div class="ad">
35 Removed: Buy my sourdough, ah
36 Removed: </div>
37 Removed: <div class="ad">
38 Removed: Check out this sponsored link, ere.
39 Removed: </div>
40 Removed: <div class="ad">
41 Removed: Another random ad (from a high-paying sponsor hopefully)
42 Removed: </div>
43 Removed: <div class="ad">
44 Removed: Ah I literally don't have any other placeholder ideas for ads.
45 Removed: </div>
46 Removed: <div class="ad">
47 Removed: Buy my sourdough, ah
48 Removed: </div>
49 Removed: <div class="ad">
50 Removed: Check out this sponsored link, ere.
51 Removed: </div>
52 Removed: <div class="ad">
53 Removed: Another random ad (from a high-paying sponsor hopefully)
54 Removed: </div>
55 Removed: <div class="ad">
56 Removed: Ah I literally don't have any other placeholder ideas for ads.
57 Removed: </div>
58 Removed: </div>
59 Removed: </div>
69 Added: <div class="feed-ads">
70 Added: <div class="ad"> Buy my sourdough, ah </div>
71 Added: <div class="ad"> Check out this sponsored link, ere. </div>
72 Added: <div class="ad"> Another random ad (from a high-paying sponsor hopefully) </div>
73 Added: <div class="ad"> Ah I literally don't have any other placeholder ideas for ads. </div>
74 Added: <div class="ad"> Buy my sourdough, ah </div>
75 Added: <div class="ad"> Check out this sponsored link, ere. </div>
76 Added: <div class="ad"> Another random ad (from a high-paying sponsor hopefully) </div>
77 Added: <div class="ad"> Ah I literally don't have any other placeholder ideas for ads. </div>
60 78 </div>
61 79 </div>
62 Removed:
63 80
64 81 {% endblock content %}