forked from indymedia/epicyon
Beginning of calendar screen
parent
029bfc375b
commit
68cd2b9205
12
daemon.py
12
daemon.py
|
@ -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'):
|
||||
|
|
|
@ -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
81
theme
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue