Skip to content
Snippets Groups Projects
Commit f06dc129 authored by Bob Mottram's avatar Bob Mottram
Browse files

Users admin screen style

parent e2da3e35
No related branches found
No related tags found
No related merge requests found
......@@ -47,6 +47,127 @@ function web_admin_avahi {
systemctl restart avahi-daemon
}
function web_admin_create_add_apps {
local_hostname=$(grep 'host-name' /etc/avahi/avahi-daemon.conf | awk -F '=' '{print $2}').local
apps_add_template_filename="/var/www/${local_hostname}/htdocs/admin/apps_add_template.html"
appslist_add_filename="/var/www/${local_hostname}/htdocs/admin/apps_add.html"
icons_dir="/var/www/${local_hostname}/htdocs/admin/icons"
app_add_template_filename="app_add_template.html"
FILES="/usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-*"
if [ ! -d "$icons_dir" ]; then
mkdir -p "$icons_dir"
fi
if [ ! -f "$apps_add_template_filename" ]; then
return
fi
cp "$apps_add_template_filename" "$appslist_add_filename"
sed -i '/<\/body>/d' "$appslist_add_filename"
sed -i '/<\/html>/d' "$appslist_add_filename"
available_apps_ctr=0
app_index=0
for filename in $FILES
do
app_name=$(echo "${filename}" | awk -F '-app-' '{print $2}')
app_index=0
app_is_installed=
# shellcheck disable=SC2068
for a in ${APPS_INSTALLED[@]}
do
installed_app_name=${APPS_INSTALLED_NAMES[$app_index]}
if [[ "$installed_app_name" == "$app_name" ]]; then
app_is_installed=1
break
fi
app_index=$((app_index+1))
done
if [ ! $app_is_installed ]; then
app_filename="/usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-${app_name}"
if [ -f "$app_filename" ]; then
# get the icon for the app
icon_filename="/usr/share/${PROJECT_NAME}/android-app/${app_name}.png"
if [ -f "$icon_filename" ]; then
cp "$icon_filename" "/var/www/${local_hostname}/htdocs/admin/icons/${app_name}.png"
else
icon_filename=
fi
app_name_upper=$(echo "$app_name" | awk '{print toupper($0)}')
SHORT_DESCRIPTION=
DESCRIPTION=
if ! grep -q "${app_name_upper}_SHORT_DESCRIPTION=" "$app_filename"; then
app_index=$((app_index+1))
continue
fi
if grep -q "#${app_name_upper}_SHORT_DESCRIPTION=" "$app_filename"; then
app_index=$((app_index+1))
continue
fi
SHORT_DESCRIPTION="$(grep "${app_name_upper}_SHORT_DESCRIPTION=" "$app_filename" | head -n 1 | sed 's|\$||g' | sed "s|'||g" | sed 's|\"||g' | awk -F '=' '{print $2}')"
if grep -q "${app_name_upper}_DESCRIPTION=" "$app_filename"; then
DESCRIPTION="$(grep "${app_name_upper}_DESCRIPTION=" "$app_filename" | head -n 1 | sed 's|\$||g' | sed "s|'||g" | sed 's|\"||g' | awk -F '=' '{print $2}')"
fi
if [ $available_apps_ctr -eq 0 ]; then
echo ' <div class="row">' >> "$appslist_add_filename"
fi
filename="/var/www/${local_hostname}/htdocs/admin/app_${app_name}.html"
if [ -f "$filename" ]; then
rm "$filename"
fi
filename="/var/www/${local_hostname}/htdocs/admin/app_add_${app_name}.html"
{ echo ' <div class="column">';
echo ' <div>';
echo " <a href=\"app_${app_name}.html\">";
echo " <img src=\"icons/${app_name}.png\" style=\"width:100%\">";
echo " <center>${app_name}</center>";
echo ' </a>';
echo ' </div>';
echo ' </div>'; } >> "$appslist_add_filename"
cp "$app_add_template_filename" "$filename"
# Replace app variables
sed -i "s|APPNAME|${app_name}|g" "$filename"
sed -i "s|APPDESCRIPTION|${DESCRIPTION}|g" "$filename"
available_apps_ctr=$((available_apps_ctr+1))
# four columns per row
if [ $available_apps_ctr -eq 4 ]; then
echo ' </div>' >> "$appslist_add_filename"
available_apps_ctr=0
fi
fi
fi
done
# Complete the rest of the four column row
# shellcheck disable=SC2034
for i in $(seq ${available_apps_ctr} 3)
do
{ echo ' <div class="column">';
echo ' <div>';
echo ' </div>';
echo ' </div>'; } >> "$appslist_add_filename"
done
echo ' </body>' >> "$appslist_add_filename"
echo '</html>' >> "$appslist_add_filename"
chown -R www-data:www-data "/var/www/${local_hostname}/htdocs/admin"
}
function web_admin_create_installed_apps {
local_hostname=$(grep 'host-name' /etc/avahi/avahi-daemon.conf | awk -F '=' '{print $2}').local
appslist_template_filename="/var/www/${local_hostname}/htdocs/admin/apps_template.html"
......@@ -269,6 +390,9 @@ function install_web_admin {
mkdir -p "/var/www/${local_hostname}/htdocs/plinth"
fi
# make list of apps which can be added
web_admin_create_add_apps
# make the list of apps
web_admin_create_installed_apps
......
<!DOCTYPE html>
<html>
<head>
<style>
.header {
text-align: center;
padding: 32px;
}
#headerpic {
width: 20%;
height: auto;
margin-right : auto;
margin-left : auto;
min-width : 120px;
}
.card {
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
max-width: 600px;
margin: auto;
text-align: center;
font-family: arial;
}
.appurl {
color: grey;
font-size: 100%;
}
.appdesc {
color: black;
font-size: 65%;
}
button {
border: none;
outline: 0;
display: inline-block;
padding: 8px;
color: white;
background-color: #000;
text-align: center;
cursor: pointer;
width: 100%;
font-size: 18px;
}
a {
text-decoration: none;
color: black;
}
button:hover, a:hover {
opacity: 0.7;
}
</style>
</head>
<body>
<div class="header">
<a href="apps.html"><img id="headerpic" class="img-responsive" src="icons/APPNAME.png"></a>
</div>
<div class="card">
<h1>APPNAME</h1>
<p class="appdesc">APPDESCRIPTION</p>
<p><button>Add</button></p>
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<style>
* {
box-sizing: border-box;
}
a, u {
text-decoration: none;
color: #72a7cf;
font-weight: bold;
}
a:visited{
color: #72a7cf;
font-weight: bold;
}
#headerpic {
width: 60%;
height: auto;
margin-right : auto;
margin-left : auto;
min-width : 220px;
}
body {
margin: 0;
font-family: Arial;
}
.header {
text-align: center;
padding: 32px;
}
.row {
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
padding: 0 4px;
}
.column {
-ms-flex: 25%;
flex: 25%;
max-width: 25%;
padding: 0 4px;
}
.column img {
margin-top: 8px;
vertical-align: middle;
}
@media screen and (max-width: 800px) {
.column {
-ms-flex: 50%;
flex: 50%;
max-width: 50%;
}
}
@media screen and (max-width: 200px) {
.column {
-ms-flex: 100%;
flex: 100%;
max-width: 100%;
}
}
</style>
<body>
<div class="header">
<a href="index.html"><img id="headerpic" class="img-responsive" src="logo.png"></a>
</div>
</body>
</html>
......@@ -94,7 +94,7 @@
<br>
<div class="chip">
<a href="app_add.html">
<a href="apps_add.html">
+
</a>
</div>
......
......@@ -9,7 +9,6 @@
margin-right : auto;
margin-left : auto;
min-width : 220px;
max-width : 320px;
}
a, u {
......@@ -27,7 +26,9 @@
text-align: center;
padding: 32px;
font-size: 120%;
font-family: arial;
font-weight: bold;
font-size: 170%;
color: #72a7cf;
}
......@@ -58,10 +59,6 @@
background-color: #f1f1f1;
}
.adduser {
font-size: 200%;
}
.chip img {
float: left;
margin: 0 10px 0 -25px;
......@@ -100,12 +97,10 @@
</a>
</div>
<div class="chip">
<div class="adduser">
<a href="newuser.html">
<img src="admin_users.png" alt="Person" width="96" height="96">
+
</a>
</div>
<a href="newuser.html">
<img src="admin_users.png" alt="Person" width="96" height="96">
+
</a>
</div>
</div>
</div>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment