Beginning of calendar screen

main2
Bob Mottram 2019-10-10 15:43:21 +01:00
parent 029bfc375b
commit 68cd2b9205
4 changed files with 281 additions and 12 deletions

View File

@ -99,6 +99,7 @@ from webinterface import htmlSuspended
from webinterface import htmlGetLoginCredentials
from webinterface import htmlNewPost
from webinterface import htmlFollowConfirm
from webinterface import htmlCalendar
from webinterface import htmlSearch
from webinterface import htmlSearchEmoji
from webinterface import htmlSearchEmojiTextEntry
@ -1043,6 +1044,17 @@ class PubServer(BaseHTTPRequestHandler):
self.server.GETbusy=False
return
# Show the calendar for a user
if htmlGET and '/users/' in self.path:
if self.path.endswith('/calendar'):
# show the calendar screen
msg=htmlCalendar(self.server.translate, \
self.server.baseDir,self.path).encode()
self._set_headers('text/html',len(msg),cookie)
self.wfile.write(msg)
self.server.GETbusy=False
return
# search for emoji by name
if htmlGET and '/users/' in self.path:
if self.path.endswith('/searchemoji'):

View File

@ -0,0 +1,176 @@
@charset "UTF-8";
:root {
--main-bg-color: #282c37;
--main-fg-color: #dddddd;
--main-link-color: #999;
--main-visited-color: #888;
--border-color: #505050;
--font-size-header: 18px;
--font-color-header: #ccc;
--font-size: 40px;
--text-entry-foreground: #ccc;
--text-entry-background: #111;
--time-color: #aaa;
--button-text: #FFFFFF;
--button-background: #999;
--button-selected: #666;
}
body, html {
background-color: var(--main-bg-color);
color: var(--main-fg-color);
height: 100%;
font-family: Arial, Helvetica, sans-serif;
max-width: 100%;
min-width: 600px;
margin: 5% auto;
}
a, u {
color: var(--main-fg-color);
}
a:visited{
color: var(--main-visited-color);
font-weight: bold;
}
a:link {
color: var(--main-link-color);
font-weight: bold;
}
.calendar {
background-image: url("calendar-background.png");
height: 100%;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
position: relative;
background-color: var(--main-bg-color);
}
.calendarAvatar {
margin: 15% 0;
}
.calendarAvatar img {
border-radius: 10%;
width: 20%;
min-width: 200px;
}
.calendarText {
font-size: var(--font-size);
}
.button {
border-radius: 4px;
background-color: var(--button-background);
border: none;
color: var(--button-text);
text-align: center;
padding: 10px;
font-size: var(--font-size);
width: 20%;
max-width: 200px;
min-width: 100px;
cursor: pointer;
margin: 30px;
}
.button:hover {
background-color: #555;
color: white;
}
input[type=text] {
width: 90%;
clear: both;
font-size: var(--font-size);
text-align: center;
color: var(--text-entry-foreground);
background-color: var(--text-entry-background);
}
.cwButton {
border-radius: 4px;
background-color: #999;
border: none;
color: var(--button-text);
text-align: center;
font-size: var(--font-size);
padding: 2px;
cursor: pointer;
margin: 5px;
}
.cwText {
display: none;
}
.options {
font-size: var(--font-size);
}
.options img {
width: 20%;
}
@media screen and (min-width: 400px) {
.calendarText {
font-size: 24px;
}
input[type=text] {
width: 90%;
clear: both;
font-size: 24px;
text-align: center;
color: var(--text-entry-foreground);
background-color: var(--text-entry-background);
}
.button {
border-radius: 4px;
background-color: var(--button-background);
border: none;
color: var(--button-text);
text-align: center;
padding: 10px;
font-size: 24px;
width: 20%;
max-width: 200px;
min-width: 100px;
cursor: pointer;
margin: 30px;
}
}
@media screen and (max-width: 1000px) {
.calendarText {
font-size: 40px;
}
input[type=text] {
width: 90%;
clear: both;
font-size: 40px;
text-align: center;
color: var(--text-entry-foreground);
background-color: var(--text-entry-background);
}
.button {
border-radius: 4px;
background-color: var(--button-background);
border: none;
color: var(--button-text);
text-align: center;
padding: 10px;
font-size: 40px;
width: 20%;
max-width: 200px;
min-width: 100px;
cursor: pointer;
margin: 30px;
}
}

81
theme
View File

@ -25,6 +25,9 @@ if [[ "$themeName" == 'default' ]]; then
if [ -f suspended.css ]; then
rm suspended.css
fi
if [ -f calendar.css ]; then
rm calendar.css
fi
fi
if [[ "$themeName" == 'purple'* ]]; then
@ -36,8 +39,24 @@ if [[ "$themeName" == 'purple'* ]]; then
sed -i 's|"theme"| "theme"|g' config.json
fi
fi
cp epicyon-profile.css epicyon.css
filename=epicyon.css
cp epicyon-profile.css "$filename"
sed -i "s|--main-bg-color:.*|--main-bg-color: #1f152d;|g" "$filename"
sed -i "s|--main-bg-color-reply:.*|--main-bg-color-reply: #1a142d;|g" "$filename"
sed -i "s|--main-bg-color-report:.*|--main-bg-color-report: #12152d;|g" "$filename"
sed -i "s|--main-header-color-roles:.*|--main-header-color-roles: #1f192d;|g" "$filename"
sed -i "s|--main-fg-color:.*|--main-fg-color: #f98bb0;|g" "$filename"
sed -i "s|--border-color:.*|--border-color: #3f2145;|g" "$filename"
sed -i "s|--main-link-color:.*|--main-link-color: #ff42a0;|g" "$filename"
sed -i "s|--main-visited-color:.*|--main-visited-color: #f93bb0;|g" "$filename"
sed -i "s|--time-color:.*|--time-color: #f98bb0;|g" "$filename"
sed -i "s|--button-selected:.*|--button-selected: #c042a0;|g" "$filename"
sed -i "s|--button-background:.*|--button-background: #ff42a0;|g" "$filename"
sed -i "s|--button-text:.*|--button-text: white;|g" "$filename"
sed -i "s|background-color: #554;|background-color: #ff42a0;|g" "$filename"
sed -i "s|color: #FFFFFE;|color: #1f152d;|g" "$filename"
filename=calendar.css
cp "epicyon-$filename" "$filename"
sed -i "s|--main-bg-color:.*|--main-bg-color: #1f152d;|g" "$filename"
sed -i "s|--main-bg-color-reply:.*|--main-bg-color-reply: #1a142d;|g" "$filename"
sed -i "s|--main-bg-color-report:.*|--main-bg-color-report: #12152d;|g" "$filename"
@ -52,8 +71,8 @@ if [[ "$themeName" == 'purple'* ]]; then
sed -i "s|--button-text:.*|--button-text: white;|g" "$filename"
sed -i "s|background-color: #554;|background-color: #ff42a0;|g" "$filename"
sed -i "s|color: #FFFFFE;|color: #1f152d;|g" "$filename"
cp epicyon-login.css login.css
filename=login.css
cp "epicyon-$filename" "$filename"
sed -i "s|--main-bg-color:.*|--main-bg-color: #1f152d;|g" "$filename"
sed -i "s|--main-bg-color-reply:.*|--main-bg-color-reply: #1a142d;|g" "$filename"
sed -i "s|--main-bg-color-report:.*|--main-bg-color-report: #12152d;|g" "$filename"
@ -68,8 +87,8 @@ if [[ "$themeName" == 'purple'* ]]; then
sed -i "s|--button-text:.*|--button-text: white;|g" "$filename"
sed -i "s|background-color: #554;|background-color: #ff42a0;|g" "$filename"
sed -i "s|color: #FFFFFE;|color: #1f152d;|g" "$filename"
cp epicyon-follow.css follow.css
filename=follow.css
cp "epicyon-$filename" "$filename"
sed -i "s|--main-bg-color:.*|--main-bg-color: #1f152d;|g" "$filename"
sed -i "s|--main-bg-color-reply:.*|--main-bg-color-reply: #1a142d;|g" "$filename"
sed -i "s|--main-bg-color-report:.*|--main-bg-color-report: #12152d;|g" "$filename"
@ -84,8 +103,8 @@ if [[ "$themeName" == 'purple'* ]]; then
sed -i "s|--button-text:.*|--button-text: white;|g" "$filename"
sed -i "s|background-color: #554;|background-color: #ff42a0;|g" "$filename"
sed -i "s|color: #FFFFFE;|color: #1f152d;|g" "$filename"
cp epicyon-suspended.css suspended.css
filename=suspended.css
cp "epicyon-$filename" "$filename"
sed -i "s|--main-bg-color:.*|--main-bg-color: #1f152d;|g" "$filename"
sed -i "s|--main-bg-color-reply:.*|--main-bg-color-reply: #1a142d;|g" "$filename"
sed -i "s|--main-bg-color-report:.*|--main-bg-color-report: #12152d;|g" "$filename"
@ -111,8 +130,27 @@ if [[ "$themeName" == 'hack'* || "$themeName" == 'hax'* ]]; then
sed -i 's|"theme"| "theme"|g' config.json
fi
fi
cp epicyon-profile.css epicyon.css
filename=epicyon.css
cp epicyon-profile.css "$filename"
sed -i "s|--main-bg-color:.*|--main-bg-color: black;|g" "$filename"
sed -i "s|--main-bg-color-reply:.*|--main-bg-color-reply: #030202;|g" "$filename"
sed -i "s|--main-bg-color-report:.*|--main-bg-color-report: #050202;|g" "$filename"
sed -i "s|--main-header-color-roles:.*|--main-header-color-roles: #1f192d;|g" "$filename"
sed -i "s|--main-fg-color:.*|--main-fg-color: green;|g" "$filename"
sed -i "s|--border-color:.*|--border-color: darkgreen;|g" "$filename"
sed -i "s|--main-link-color:.*|--main-link-color: #266020;|g" "$filename"
sed -i "s|--main-visited-color:.*|--main-visited-color: #3c8234;|g" "$filename"
sed -i "s|--time-color:.*|--time-color: green;|g" "$filename"
sed -i "s|--button-selected:.*|--button-selected: #063200;|g" "$filename"
sed -i "s|--button-background:.*|--button-background: #062200;|g" "$filename"
sed -i "s|--button-text:.*|--button-text: green;|g" "$filename"
sed -i "s|--button-corner-radius:.*|--button-corner-radius: 4px;|g" "$filename"
sed -i "s|--timeline-border-radius:.*|--timeline-border-radius: 4px;|g" "$filename"
sed -i "s|font-family:.*|font-family: Courier;|g" "$filename"
sed -i "s|background-color: #554;|background-color: #062200;|g" "$filename"
sed -i "s|color: #FFFFFE;|color: green;|g" "$filename"
filename=calendar.css
cp "epicyon-$filename" "$filename"
sed -i "s|--main-bg-color:.*|--main-bg-color: black;|g" "$filename"
sed -i "s|--main-bg-color-reply:.*|--main-bg-color-reply: #030202;|g" "$filename"
sed -i "s|--main-bg-color-report:.*|--main-bg-color-report: #050202;|g" "$filename"
@ -130,8 +168,8 @@ if [[ "$themeName" == 'hack'* || "$themeName" == 'hax'* ]]; then
sed -i "s|font-family:.*|font-family: Courier;|g" "$filename"
sed -i "s|background-color: #554;|background-color: #062200;|g" "$filename"
sed -i "s|color: #FFFFFE;|color: green;|g" "$filename"
cp epicyon-login.css login.css
filename=login.css
cp "epicyon-$filename" "$filename"
sed -i "s|--main-bg-color:.*|--main-bg-color: black;|g" "$filename"
sed -i "s|--main-bg-color-reply:.*|--main-bg-color-reply: #030202;|g" "$filename"
sed -i "s|--main-bg-color-report:.*|--main-bg-color-report: #050202;|g" "$filename"
@ -148,8 +186,8 @@ if [[ "$themeName" == 'hack'* || "$themeName" == 'hax'* ]]; then
sed -i "s|font-family:.*|font-family: Courier;|g" "$filename"
sed -i "s|background-color: #554;|background-color: #062200;|g" "$filename"
sed -i "s|color: #FFFFFE;|color: green;|g" "$filename"
cp epicyon-follow.css follow.css
filename=follow.css
cp "epicyon-$filename" "$filename"
sed -i "s|--main-bg-color:.*|--main-bg-color: black;|g" "$filename"
sed -i "s|--main-bg-color-reply:.*|--main-bg-color-reply: #030202;|g" "$filename"
sed -i "s|--main-bg-color-report:.*|--main-bg-color-report: #050202;|g" "$filename"
@ -166,8 +204,8 @@ if [[ "$themeName" == 'hack'* || "$themeName" == 'hax'* ]]; then
sed -i "s|font-family:.*|font-family: Courier;|g" "$filename"
sed -i "s|background-color: #554;|background-color: #062200;|g" "$filename"
sed -i "s|color: #FFFFFE;|color: green;|g" "$filename"
cp epicyon-suspended.css suspended.css
filename=suspended.css
cp "epicyon-$filename" "$filename"
sed -i "s|--main-bg-color:.*|--main-bg-color: black;|g" "$filename"
sed -i "s|--main-bg-color-reply:.*|--main-bg-color-reply: #030202;|g" "$filename"
sed -i "s|--main-bg-color-report:.*|--main-bg-color-report: #050202;|g" "$filename"
@ -195,8 +233,27 @@ if [[ "$themeName" == 'light'* ]]; then
sed -i 's|"theme"| "theme"|g' config.json
fi
fi
cp epicyon-profile.css epicyon.css
filename=epicyon.css
cp epicyon-profile.css "$filename"
sed -i 's|rgba(0, 0, 0, 0.5)|rgba(0, 0, 0, 0.0)|g' "$filename"
sed -i "s|--main-bg-color:.*|--main-bg-color: #e6ebf0;|g" "$filename"
sed -i "s|--main-bg-color-reply:.*|--main-bg-color-reply: #e0dbf0;|g" "$filename"
sed -i "s|--main-bg-color-report:.*|--main-bg-color-report: #e3dbf0;|g" "$filename"
sed -i "s|--main-header-color-roles:.*|--main-header-color-roles: #ebebf0;|g" "$filename"
sed -i "s|--main-fg-color:.*|--main-fg-color: #2d2c37;|g" "$filename"
sed -i "s|--border-color:.*|--border-color: #c0cdd9;|g" "$filename"
sed -i "s|--main-link-color:.*|--main-link-color: #2a2c37;|g" "$filename"
sed -i "s|--main-visited-color:.*|--main-visited-color: #232c37;|g" "$filename"
sed -i "s|--time-color:.*|--time-color: #555;|g" "$filename"
sed -i "s|--text-entry-foreground:.*|--text-entry-foreground: #111;|g" "$filename"
sed -i "s|--text-entry-background:.*|--text-entry-background: white;|g" "$filename"
sed -i "s|--font-color-header:.*|--font-color-header: black;|g" "$filename"
sed -i "s|--dropdown-bg-color:.*|--dropdown-bg-color: white;|g" "$filename"
sed -i "s|--dropdown-bg-color-hover:.*|--dropdown-bg-color-hover: lightgrey;|g" "$filename"
sed -i "s|background-color: #554;|background-color: white;|g" "$filename"
sed -i "s|color: #FFFFFE;|color: black;|g" "$filename"
filename=calendar.css
cp "epicyon-$filename" "$filename"
sed -i 's|rgba(0, 0, 0, 0.5)|rgba(0, 0, 0, 0.0)|g' "$filename"
sed -i "s|--main-bg-color:.*|--main-bg-color: #e6ebf0;|g" "$filename"
sed -i "s|--main-bg-color-reply:.*|--main-bg-color-reply: #e0dbf0;|g" "$filename"
@ -214,8 +271,8 @@ if [[ "$themeName" == 'light'* ]]; then
sed -i "s|--dropdown-bg-color-hover:.*|--dropdown-bg-color-hover: lightgrey;|g" "$filename"
sed -i "s|background-color: #554;|background-color: white;|g" "$filename"
sed -i "s|color: #FFFFFE;|color: black;|g" "$filename"
cp epicyon-login.css login.css
filename=login.css
cp "epicyon-$filename" "$filename"
sed -i 's|rgba(0, 0, 0, 0.5)|rgba(0, 0, 0, 0.0)|g' "$filename"
sed -i "s|--main-bg-color:.*|--main-bg-color: #e6ebf0;|g" "$filename"
sed -i "s|--main-bg-color-reply:.*|--main-bg-color-reply: #e0dbf0;|g" "$filename"
@ -233,8 +290,8 @@ if [[ "$themeName" == 'light'* ]]; then
sed -i "s|--dropdown-bg-color-hover:.*|--dropdown-bg-color-hover: lightgrey;|g" "$filename"
sed -i "s|background-color: #554;|background-color: white;|g" "$filename"
sed -i "s|color: #FFFFFE;|color: black;|g" "$filename"
cp epicyon-follow.css follow.css
filename=follow.css
cp "epicyon-$filename" "$filename"
sed -i 's|rgba(0, 0, 0, 0.5)|rgba(0, 0, 0, 0.0)|g' "$filename"
sed -i "s|--main-bg-color:.*|--main-bg-color: #e6ebf0;|g" "$filename"
sed -i "s|--main-bg-color-reply:.*|--main-bg-color-reply: #e0dbf0;|g" "$filename"
@ -252,8 +309,8 @@ if [[ "$themeName" == 'light'* ]]; then
sed -i "s|--dropdown-bg-color-hover:.*|--dropdown-bg-color-hover: lightgrey;|g" "$filename"
sed -i "s|background-color: #554;|background-color: white;|g" "$filename"
sed -i "s|color: #FFFFFE;|color: black;|g" "$filename"
cp epicyon-suspended.css suspended.css
filename=suspended.css
cp "epicyon-$filename" "$filename"
sed -i 's|rgba(0, 0, 0, 0.5)|rgba(0, 0, 0, 0.0)|g' "$filename"
sed -i "s|--main-bg-color:.*|--main-bg-color: #e6ebf0;|g" "$filename"
sed -i "s|--main-bg-color-reply:.*|--main-bg-color-reply: #e0dbf0;|g" "$filename"

View File

@ -2743,6 +2743,30 @@ def htmlSearchEmojiTextEntry(translate: {}, \
emojiStr+=htmlFooter()
return emojiStr
def htmlCalendar(translate: {}, \
baseDir: str,path: str) -> str:
"""Show the calendar for a person
"""
actor=path.replace('/calendar','')
nickname=getNicknameFromActor(actor)
domain,port=getDomainFromActor(actor)
if os.path.isfile(baseDir+'/img/calendar-background.png'):
if not os.path.isfile(baseDir+'/accounts/calendar-background.png'):
copyfile(baseDir+'/img/calendar-background.png',baseDir+'/accounts/calendar-background.png')
cssFilename=baseDir+'/epicyon-calendar.css'
if os.path.isfile(baseDir+'/calendar.css'):
cssFilename=baseDir+'/calendar.css'
with open(cssFilename, 'r') as cssFile:
calendarStyle = cssFile.read()
calendarStr=htmlHeader(cssFilename,calendarStyle)
#TODO
calendarStr+=htmlFooter()
return calendarStr
def htmlSearch(translate: {}, \
baseDir: str,path: str) -> str:
"""Search called from the timeline icon