This commit is contained in:
KZacharski 2026-04-28 05:25:21 +02:00
parent e589801b0f
commit 6de6a40382
21 changed files with 4656 additions and 37822 deletions

View File

@ -1,5 +1,5 @@
{
"recommendations": [
"ionic.ionic"
"Webnative.webnative"
]
}

33690
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -17,9 +17,9 @@
"@capacitor/haptics": "4.1.0",
"@capacitor/keyboard": "4.1.0",
"@capacitor/status-bar": "4.1.0",
"@ionic/core": "^7.0.0-rc.5",
"@ionic/vue": "^7.0.0-rc.5",
"@ionic/vue-router": "^7.0.0-rc.5",
"@ionic/core": "8",
"@ionic/vue": "8",
"@ionic/vue-router": "8",
"@vue/cli-plugin-pwa": "^5.0.8",
"core-js": "^3.6.5",
"ionicons": "^6.0.3",
@ -49,5 +49,6 @@
"jest": "^27.3.1",
"ts-jest": "^27.0.7",
"typescript": "^4.3.5"
}
},
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
}

BIN
src/assets/Logo_Netlify.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 516 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 KiB

View File

@ -1,5 +1,5 @@
import { createRouter, createWebHistory } from '@ionic/vue-router';
import { RouteRecordRaw } from 'vue-router';
import type { RouteRecordRaw, Router } from 'vue-router';
import TabsPage from '../views/TabsPage.vue'
import Apps from '../views/Apps.vue'
import PufferIcons from '../views/PufferIcons.vue'
@ -57,11 +57,6 @@ const routes: Array<RouteRecordRaw> = [
name: 'Blurry Wallpapers',
component: Blurry_Wallpapers,
},
{
path: '/details/PufferIcons_Filled',
name: 'PufferIcons Filled',
component: PufferIcons_Filled,
},
{
path: '/details/WallCat',
name: 'WallCat',
@ -72,11 +67,6 @@ const routes: Array<RouteRecordRaw> = [
name: 'BetterAperture',
component: BetterAperture,
},
{
path: '/details/Duo',
name: 'Duo',
component: Duo,
},
{
path: '/details/ThemeShowcase',
name: 'ThemeShowcase',

View File

@ -24,7 +24,7 @@
<ion-content class="ion-padding modalContent">
<img src="../assets/Icon_Puffercat_Apps.png" class="logoAbout">
<h1>Puffercat Apps</h1>
<h4>v1.0.0-b6 (Beta 6)</h4>
<h4>v1.0.0-b7 (Beta 7)</h4>
<br>
<br>
<div class="tableLabel">
@ -49,7 +49,7 @@
<ion-label><a href="https://puffercat.t.me">Telegram profile</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="mailto:puffercatt+pufferapps@gmail.com">E-Mail</a></ion-label>
<ion-label><a href="mailto:apps@puffercat.xyz">E-Mail</a></ion-label>
</ion-item>
</ion-list>
<br>
@ -65,10 +65,7 @@
<ion-label><a href="https://ionicframework.com"><img src="../assets/Logo_Ionic.png" class="aboutFrameworkLogo"></a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://vercel.com/">
<img src="../assets/Logo_Vercel.png" class="vueLogoLight aboutFrameworkLogo">
<img src="../assets/Logo_Vercel_Dark.png" class="vueLogoDark aboutFrameworkLogo">
</a></ion-label>
<ion-label><a href="https://netlify.com"><img src="../assets/Logo_Netlify.png" class="aboutFrameworkLogo"></a></ion-label>
</ion-item>
</ion-list>
<br><br><br>
@ -105,7 +102,7 @@
</ion-col>
<ion-col class="download-column">
<ion-button shape="round" href="https://f2.puffercat.xyz/PuffercatApps/ThemeShowcase-1.0b.apk"><ion-icon :icon="arrowDown" /></ion-button>
<ion-button shape="round" href="https://f2.puffercat.xyz/PuffercatApps/WallCat-1.0.1.apk"><ion-icon :icon="arrowDown" /></ion-button>
</ion-col>
</ion-row>
<ion-row class="column-standard">
@ -124,7 +121,7 @@
</ion-col>
<ion-col class="download-column">
<ion-button shape="round" href="https://f2.puffercat.xyz/PuffercatApps/ThemeShowcase-1.0b.apk"><ion-icon :icon="arrowDown" /></ion-button>
<ion-button shape="round" href="https://f2.puffercat.xyz/PuffercatApps/ThemeShowcase-1.0b2.apk"><ion-icon :icon="arrowDown" /></ion-button>
</ion-col>
</ion-row>
<ion-row class="column-standard">

View File

@ -40,9 +40,6 @@
<ion-col>
<ion-button href="https://cdn.puffercat.xyz/c/puffercat-apps/apks/BetterAperture/betteraperture-1.0.0.apk" expand="full" shape="round" style="margin: 0px;" download="BetterAperture-latest.apk">Download</ion-button>
</ion-col>
<ion-col>
<ion-button href="https://play.google.com/store/apps/details?id=xyz.puffercat.betteraperture" expand="full" shape="round" style="margin: 0px;">Google Play</ion-button>
</ion-col>
</ion-row>
<ion-row class="column-standard">
<ion-col>

View File

@ -40,9 +40,6 @@
<ion-col>
<ion-button href="https://cdn.puffercat.xyz/c/puffercat-apps/apks/Blurry_Wallpapers/blurry-wallpapers-1.0.4.apk" expand="full" shape="round" style="margin: 0px;" download="Blurry-wallpapers-latest.apk">Download</ion-button>
</ion-col>
<ion-col>
<ion-button href="https://play.google.com/store/apps/details?id=xyz.puffercat.blurrywalls.android" expand="full" shape="round" style="margin: 0px;">Google Play</ion-button>
</ion-col>
</ion-row>
<ion-row class="column-standard">
<ion-col>

View File

@ -24,7 +24,7 @@
<ion-content class="ion-padding modalContent">
<img src="../assets/Icon_Puffercat_Apps.png" class="logoAbout">
<h1>Puffercat Apps</h1>
<h4>v1.0.0-b6 (Beta 6)</h4>
<h4>v1.0.0-b7 (Beta 7)</h4>
<br>
<br>
<div class="tableLabel">
@ -49,7 +49,7 @@
<ion-label><a href="https://puffercat.t.me">Telegram profile</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="mailto:puffercatt+pufferapps@gmail.com">E-Mail</a></ion-label>
<ion-label><a href="mailto:apps@puffercat.xyz">E-Mail</a></ion-label>
</ion-item>
</ion-list>
<br>
@ -65,10 +65,7 @@
<ion-label><a href="https://ionicframework.com"><img src="../assets/Logo_Ionic.png" class="aboutFrameworkLogo"></a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://vercel.com/">
<img src="../assets/Logo_Vercel.png" class="vueLogoLight aboutFrameworkLogo">
<img src="../assets/Logo_Vercel_Dark.png" class="vueLogoDark aboutFrameworkLogo">
</a></ion-label>
<ion-label><a href="https://netlify.com"><img src="../assets/Logo_Netlify.png" class="aboutFrameworkLogo"></a></ion-label>
</ion-item>
</ion-list>
<br><br><br>
@ -88,49 +85,14 @@
<ion-title size="large">Coming Soon</ion-title>
</ion-toolbar>
</ion-header>
<ion-grid>
<ion-row class="column-standard">
<ion-col size="auto" button @click="() => router.push('/details/PufferIcons_Filled')">
<img src="../assets/Icon_PufferIcons_Filled.png" class="icon">
</ion-col>
<ion-col size="auto" class="description-column" button @click="() => router.push('/details/PufferIcons_Filled')">
<ion-row>
<ion-column><h4 class="size-appname">PufferIcons Filled</h4></ion-column>
</ion-row>
<ion-row>
<ion-column button @click="() => router.push('/details/PufferIcons_Filled')"><ion-icon :icon="logoAndroid" class="size-appname-icon hidden-link"/></ion-column>
</ion-row>
</ion-col>
<ion-col>
</ion-col>
<ion-col class="download-column">
<ion-button shape="round" disabled="true"><ion-icon :icon="arrowDown" /></ion-button>
</ion-col>
</ion-row>
<ion-row class="column-standard">
<ion-col size="auto" button @click="() => router.push('/details/Duo')">
<img src="../assets/Icon_Duo.png" class="icon">
</ion-col>
<ion-col size="auto" class="description-column" button @click="() => router.push('/details/Duo')">
<ion-row>
<ion-column><h4 class="size-appname">Duo</h4></ion-column>
</ion-row>
<ion-row>
<ion-column button @click="() => router.push('/details/Duo')"><ion-icon :icon="logoAndroid" class="size-appname-icon hidden-link"/></ion-column>
</ion-row>
</ion-col>
<ion-col>
</ion-col>
<ion-col class="download-column">
<ion-button shape="round" disabled="true"><ion-icon :icon="arrowDown" /></ion-button>
</ion-col>
</ion-row>
</ion-grid>
<ion-content class="ion-padding emptyStateContainer">
<div class="emptyStateContainer">
<div class="emptyStateContent">
<ion-icon slot="icon-only" :icon="timeOutline" class="emptyStateIcon"></ion-icon>
<h3 class="emptyStateText">No upcoming apps</h3>
</div>
</div>
</ion-content>
</ion-content>
</ion-page>
</template>
@ -153,8 +115,9 @@ import { IonPage, IonHeader, IonToolbar, IonTitle, IonContent, IonCol, IonGrid,
IonImg,
IonLabel, IonPopover } from '@ionic/vue';
import ExploreContainer from '@/components/ExploreContainer.vue';
import { logoAndroid, arrowDown, logoPwa, ellipsisVertical } from 'ionicons/icons';
import { logoAndroid, arrowDown, logoPwa, ellipsisVertical, timeOutline } from 'ionicons/icons';
import { useRouter } from 'vue-router';
import { Icon } from 'ionicons/dist/types/components/icon/icon';
export default defineComponent ({
methods: {
@ -203,16 +166,39 @@ export default defineComponent ({
display: inline;
} .vueLogoDark {
display: none;
} @media (prefers-color-scheme: dark) {
.vueLogoLight {
display: none;
} .vueLogoDark {
display: inline;
}
} .aboutFrameworkLogo {
width: 175px;
} .hidden-link {
text-decoration-line: none;
color: var(--ion-color-light-contrast);
}
.emptyStateContainer {
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
} .emptyStateContent {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
} .emptyStateIcon {
font-size:125px;
color: #B7B7B7;
} .emptyStateText {
font-size: 30px;
color: #B7B7B7;
}
@media (prefers-color-scheme: dark) {
.vueLogoLight {
display: none;
} .vueLogoDark {
display: inline;
} .emptyStateIcon {
color: #4e4e4e;
} .emptyStateText {
color: #4e4e4e;
}
}
</style>

View File

@ -1,192 +0,0 @@
<template>
<ion-page>
<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-back-button default-href="/tabs/soon"></ion-back-button>
</ion-buttons>
<ion-title>Duo</ion-title>
</ion-toolbar>
</ion-header>
<ion-content :fullscreen="true">
<ion-header collapse="condense">
<ion-toolbar>
<ion-title size="large">Duo</ion-title>
</ion-toolbar>
</ion-header>
<ion-grid>
<ion-row class="column-standard2">
<ion-col class="bannerColumn">
</ion-col>
</ion-row>
<ion-row class="column-standard">
<ion-col size="auto">
<img src="../assets/Icon_Duo.png" class="icon">
</ion-col>
<ion-col size="auto" class="description-column">
<ion-row style="padding: 0px; margin: 0px;">
<ion-column style="padding: 0px; margin: 0px;"><p class="size-appname" style="padding: 0px; margin: 0px;"><strong>Duo</strong></p></ion-column>
</ion-row>
<ion-row style="padding: 0px;">
<ion-column><p class="size-appname-icon"></p></ion-column>
</ion-row>
<ion-row style="padding: 0px;">
<ion-column><ion-icon :icon="logoAndroid" class="size-appname-icon"/></ion-column>
</ion-row>
</ion-col>
</ion-row>
<ion-row class="column-standard2">
<ion-col>
<ion-button disabled="true" expand="full" shape="round" style="margin: 0px;">Coming Soon</ion-button>
</ion-col>
</ion-row>
<ion-row class="column-standard">
<ion-col>
<h4><strong>Description</strong></h4>
A vibrant, light and glowing duo-tone icon pack<br>
<br>
</ion-col>
</ion-row>
<!-- <ion-row class="column-standard">
<ion-col>
<h4><strong>Screenshots (early development)</strong></h4>
<div class="scrollScreenshots">
<img src="../assets/Screenshot_WallCat_1.png" class="screenshot">
<img src="../assets/Screenshot_WallCat_2.png" class="screenshot">
<img src="../assets/Screenshot_WallCat_3.png" class="screenshot">
<img src="../assets/Screenshot_WallCat_4.png" class="screenshot">
<img src="../assets/Screenshot_WallCat_5.png" class="screenshot">
<img src="../assets/Screenshot_WallCat_6.jpg" class="screenshot">
</div>
<br>
</ion-col>
</ion-row>-->
<ion-row class="column-standard">
<ion-col>
<h4><strong>Links</strong></h4>
<a href="mailto:puffercatt+duo@gmail.com" class="">E-mail</a>
<br>
<a href="https://pufferrom.t.me" class="">Telegram channel (releases)</a>
<br>
<a href="https://puffercatchannel.t.me" class="">Telegram channel (general)</a>
<br>
<a href="https://puffercatrom.t.me" class="">Support group</a>
<br>
<br>
</ion-col>
</ion-row>
</ion-grid>
</ion-content>
</ion-page>
</template>
<script lang="ts">
import { defineComponent } from 'vue';
import { IonPage, IonHeader, IonToolbar, IonTitle, IonContent, IonCol, IonGrid, IonRow, IonBackButton, IonButton, IonButtons, IonIcon, IonMenuButton,
IonModal,
IonItem,
IonList,
IonAvatar,
IonImg,
IonLabel } from '@ionic/vue';
import ExploreContainer from '@/components/ExploreContainer.vue';
import { logoAndroid, arrowDown, logoPwa, ellipsisVertical } from 'ionicons/icons';
export default defineComponent({
name: 'Tab1Page',
components: {IonHeader, IonToolbar, IonTitle, IonContent, IonPage, IonCol, IonGrid, IonRow, IonButton, IonIcon, IonButtons, IonBackButton},
setup() {
return {
logoAndroid,
arrowDown,
logoPwa,
ellipsisVertical
}
}
});
</script>
<style scoped>
.column-standard {
background-color: var(--ion-color-light-shade);
color: var(--ion-color-light-contrast);
padding: 15px;
border-radius: 25px;
margin: 5px;
margin-top: 15px;
} .icon {
width: 90px;
margin-right: 5px;
} ion-button {
--box-shadow: 0px;
} .download-column {
text-align: right;
display: flex;
justify-content: right;
align-items: center;
} .description-column {
align-items: center;
} .size-appname {
font-size: 20px;
} .size-appname-icon {
font-size: 15px;
} .logoAbout {
width: 125px;
margin: 10px;
margin-top: 20px;
} .modalContent {
text-align: center;
display: flex;
justify-content: center;
} .tableLabel {
text-align: left;
} .vueLogoLight {
display: inline;
} .vueLogoDark {
display: none;
} @media (prefers-color-scheme: dark) {
.vueLogoLight {
display: none;
} .vueLogoDark {
display: inline;
}
} .aboutFrameworkLogo {
width: 175px;
} .bannerColumn {
height: 500px;
background-image: url("../assets/Banner_Duo.png");
background-repeat: no-repeat;
background-size: cover;
background-position: center;
border-radius: 25px;
}
@media screen and (max-width: 850px) {
.bannerColumn {
height: 200px;
}
} .column-standard2 {
background-color: transparent;
color: var(--ion-color-light-contrast);
padding: 0px;
border-radius: 25px;
margin: 5px;
margin-top: 15px;
} ion-button {
--box-shadow: 0px;
} .screenshot {
height: 600px;
border-radius: 30px;
} div.scrollScreenshots {
overflow: auto;
white-space: nowrap;
}
div.scrollScreenshots img {
display: inline-block;
padding: 10px;
} .hidden-link {
text-decoration-line: none;
color: var(--ion-color-light-contrast);
}
</style>

View File

@ -1,193 +0,0 @@
<template>
<ion-page>
<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-back-button default-href="/tabs/soon"></ion-back-button>
</ion-buttons>
<ion-title>PufferIcons Filled</ion-title>
</ion-toolbar>
</ion-header>
<ion-content :fullscreen="true">
<ion-header collapse="condense">
<ion-toolbar>
<ion-title size="large">PufferIcons Filled</ion-title>
</ion-toolbar>
</ion-header>
<ion-grid>
<ion-row class="column-standard2">
<ion-col class="bannerColumn">
</ion-col>
</ion-row>
<ion-row class="column-standard">
<ion-col size="auto">
<img src="../assets/Icon_PufferIcons_Filled.png" class="icon">
</ion-col>
<ion-col size="auto" class="description-column">
<ion-row style="padding: 0px; margin: 0px;">
<ion-column style="padding: 0px; margin: 0px;"><p class="size-appname" style="padding: 0px; margin: 0px;"><strong>PufferIcons Filled</strong></p></ion-column>
</ion-row>
<ion-row style="padding: 0px;">
<ion-column><p class="size-appname-icon"></p></ion-column>
</ion-row>
<ion-row style="padding: 0px;">
<ion-column><ion-icon :icon="logoAndroid" class="size-appname-icon"/></ion-column>
</ion-row>
</ion-col>
</ion-row>
<ion-row class="column-standard2">
<ion-col>
<ion-button disabled="true" expand="full" shape="round" style="margin: 0px;">Coming Soon</ion-button>
</ion-col>
</ion-row>
<ion-row class="column-standard">
<ion-col>
<h4><strong>Description</strong></h4>
<strong>Notes:
Ignore Google Play Protect, my signature is different than original Lawnicons, but I can't change the package name because then Lawnchair would stop recognizing this app as Lawnicons.</strong><br>
PufferIcons is fork of Rkicons, a fork Lawnicons which is an add-on for adding themed icons to Lawnchair 12 Alpha 5 and above. This addon is now the source of all themed icons, for simplicity.<br>
<br>
PufferIcons Filled as well as Rkicons are filled while PufferIcons and Lawnicons are outlined.<br>
<br>
</ion-col>
</ion-row>
<ion-row class="column-standard">
<ion-col>
<h4><strong>Screenshots (early development)</strong></h4>
<div class="scrollScreenshots">
<img src="../assets/Screenshot_PufferIcons_Filled_1.png" class="screenshot">
<img src="../assets/Screenshot_PufferIcons_Filled_2.png" class="screenshot">
<img src="../assets/Screenshot_PufferIcons_Filled_3.png" class="screenshot">
</div>
<br>
</ion-col>
</ion-row>
<ion-row class="column-standard">
<ion-col>
<h4><strong>Links</strong></h4>
<a href="https://pufferrom.t.me" class="">Telegram channel (releases)</a>
<br>
<a href="https://puffercatchannel.t.me" class="">Telegram channel (general)</a>
<br>
<a href="https://puffercatrom.t.me" class="">Support group</a>
<br>
<a href="https://github.com/Puffercatt/PufferIcons-Filled" class="">GitHub repo</a>
<br>
<br>
</ion-col>
</ion-row>
</ion-grid>
</ion-content>
</ion-page>
</template>
<script lang="ts">
import { defineComponent } from 'vue';
import { IonPage, IonHeader, IonToolbar, IonTitle, IonContent, IonCol, IonGrid, IonRow, IonBackButton, IonButton, IonButtons, IonIcon, IonMenuButton,
IonModal,
IonItem,
IonList,
IonAvatar,
IonImg,
IonLabel } from '@ionic/vue';
import ExploreContainer from '@/components/ExploreContainer.vue';
import { logoAndroid, arrowDown, logoPwa, ellipsisVertical } from 'ionicons/icons';
export default defineComponent({
name: 'Tab1Page',
components: {IonHeader, IonToolbar, IonTitle, IonContent, IonPage, IonCol, IonGrid, IonRow, IonButton, IonIcon, IonButtons, IonBackButton},
setup() {
return {
logoAndroid,
arrowDown,
logoPwa,
ellipsisVertical
}
}
});
</script>
<style scoped>
.column-standard {
background-color: var(--ion-color-light-shade);
color: var(--ion-color-light-contrast);
padding: 15px;
border-radius: 25px;
margin: 5px;
margin-top: 15px;
} .icon {
width: 90px;
margin-right: 5px;
} ion-button {
--box-shadow: 0px;
} .download-column {
text-align: right;
display: flex;
justify-content: right;
align-items: center;
} .description-column {
align-items: center;
} .size-appname {
font-size: 20px;
} .size-appname-icon {
font-size: 15px;
} .logoAbout {
width: 125px;
margin: 10px;
margin-top: 20px;
} .modalContent {
text-align: center;
display: flex;
justify-content: center;
} .tableLabel {
text-align: left;
} .vueLogoLight {
display: inline;
} .vueLogoDark {
display: none;
} @media (prefers-color-scheme: dark) {
.vueLogoLight {
display: none;
} .vueLogoDark {
display: inline;
}
} .aboutFrameworkLogo {
width: 175px;
} .bannerColumn {
height: 500px;
background-image: url("../assets/Banner_PufferIcons_Filled.png");
background-repeat: no-repeat;
background-size: cover;
background-position: center;
border-radius: 25px;
}
@media screen and (max-width: 850px) {
.bannerColumn {
height: 200px;
}
} .column-standard2 {
background-color: transparent;
color: var(--ion-color-light-contrast);
padding: 0px;
border-radius: 25px;
margin: 5px;
margin-top: 15px;
} ion-button {
--box-shadow: 0px;
} .screenshot {
height: 600px;
border-radius: 30px;
} div.scrollScreenshots {
overflow: auto;
white-space: nowrap;
}
div.scrollScreenshots img {
display: inline-block;
padding: 10px;
} .hidden-link {
text-decoration-line: none;
color: var(--ion-color-light-contrast);
}
</style>

View File

@ -29,7 +29,7 @@
<ion-column style="padding: 0px; margin: 0px;"><p class="size-appname" style="padding: 0px; margin: 0px;"><strong>Puffercat Apps</strong></p></ion-column>
</ion-row>
<ion-row style="padding: 0px;">
<ion-column><p class="size-appname-icon">version 1.0.0-b6 (Beta 6)</p></ion-column>
<ion-column><p class="size-appname-icon">version 1.0.0-b7 (Beta 7)</p></ion-column>
</ion-row>
<ion-row style="padding: 0px;">
<ion-column><ion-icon :icon="logoPwa" class="size-appname-icon"/></ion-column>
@ -73,11 +73,12 @@
</ion-row>
<ion-row class="column-standard">
<ion-col>
<h4><strong>Changelog - 1.0.0-b5</strong></h4>
<h4><strong>Changelog - 1.0.0-b7</strong></h4>
<ul>
<li>Fixed dependency security vulnerabilities</li>
<li>Added WallCat</li>
<li>Added new Puffercat Apps screenshots</li>
<li><a href="https://x.com/rauchg/status/1972669025525158031">Switched hosting providers from Vercel to Netlify</a></li>
<li>Added Alternate mirrors, AppGallery and Google Play links to WallCat and ThemeShowcase</li>
<li>Created an empty state page</li>
<li>Updated to Ionic 8</li>
</ul>
</ion-col>
</ion-row>
@ -117,7 +118,7 @@ The full catalog of apps created by Puffercat as well as ones currently in devel
<br>
<a href="https://twitter.com/@puffercatt" class="">Twitter</a>
<br>
<a href="mailto:puffercatt+pufferapps@gmail.com" class="">E-mail</a>
<a href="mailto:apps@puffercat.xyz" class="">E-mail</a>
<br>
<a href="https://github.com/KZacharski/PuffercatApps" class="">GitHub repo</a>
<br>

View File

@ -40,9 +40,6 @@
<ion-col>
<ion-button href="https://cdn.puffercat.xyz/c/puffercat-apps/apks/Shapes/shapes-1.0.5.apk" expand="full" shape="round" style="margin: 0px;" download="Shapes-latest.apk">Download</ion-button>
</ion-col>
<ion-col>
<ion-button href="https://play.google.com/store/apps/details?id=xyz.puffercat.shapes.android" expand="full" shape="round" style="margin: 0px;">Google Play</ion-button>
</ion-col>
</ion-row>
<ion-row class="column-standard">
<ion-col>

View File

@ -29,7 +29,7 @@
<ion-column style="padding: 0px; margin: 0px;"><p class="size-appname" style="padding: 0px; margin: 0px;"><strong>ThemeShowcase</strong></p></ion-column>
</ion-row>
<ion-row style="padding: 0px;">
<ion-column><p class="size-appname-icon">version 1.0 (Beta)</p></ion-column>
<ion-column><p class="size-appname-icon">version 1.0 (Beta 2)</p></ion-column>
</ion-row>
<ion-row style="padding: 0px;">
<ion-column><ion-icon :icon="logoAndroid" class="size-appname-icon"/></ion-column>
@ -38,14 +38,177 @@
</ion-row>
<ion-row class="column-standard2">
<ion-col>
<ion-button href="https://f2.puffercat.xyz/PuffercatApps/ThemeShowcase-1.0b.apk" expand="full" shape="round" style="margin: 0px;" download="PufferIcons-latest.apk">Download</ion-button>
<ion-button href="https://f2.puffercat.xyz/PuffercatApps/ThemeShowcase-1.0b2.apk" expand="full" shape="round" style="margin: 0px;" download="PufferIcons-latest.apk">Download</ion-button>
</ion-col>
</ion-row>
<ion-row class="column-extension">
<ion-col>
<ion-button id="alternateMirrors_ThemeShowcase" expand="full" shape="round" style="margin: 0px;">Alternate mirrors</ion-button>
</ion-col>
<ion-col>
<ion-button id="googlePlayEA_ThemeShowcase" expand="full" shape="round" style="margin: 0px;">Google Play</ion-button>
</ion-col>
</ion-row>
<ion-modal ref="modal" trigger="alternateMirrors_ThemeShowcase">
<ion-header>
<ion-toolbar>
<ion-title>Alternate mirrors</ion-title>
<ion-buttons slot="end">
<ion-button @click="dismiss()">Close</ion-button>
</ion-buttons>
</ion-toolbar>
</ion-header>
<ion-content class="ion-padding">
<h2 style="padding-left: 30px;">ThemeShowcase 1.0 (Beta 2)</h2>
<ion-label color="medium" class="tableLabel checksum" style="padding-left: 30px;">SHA256 Checksum: cb28eee022526c9745ebfe815060a090e59f5b48af15483afdd51e6b8c1b9f23</ion-label>
<ion-list :inset="true" style="border-radius: 25px;">
<ion-item>
<ion-label><a href="https://f2.puffercat.xyz/PuffercatApps/ThemeShowcase-1.0b2.apk">🇩🇪 2.puffercat.xyz - Contabo (Default)</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://cdn.puffercat.xyz/puffercat-apps/apks/ThemeShowcase/ThemeShowcase-1.0b2.apk">🇳🇱 puffercat.xyz - DigitalOcean</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://deimos.pufferc.at/mirror/ThemeShowcase-1.0b2.apk">🇸🇪 deimos.pufferc.at - aeza</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://www.icloud.com/iclouddrive/0dc1MKbkknpFfAndorZ-BBdTA#ThemeShowcase-1">iCloud Drive</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://1drv.ms/u/c/c6bbfc602e5efcd0/IQBWjyBlxrLWTp5ikzDVOw_zAdb6H5A05w8fVpz5PgxtmeE?e=UMl3hb">OneDrive</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://drive.google.com/file/d/1GROivf_X95xFE66lOrTHbSZMrHsDM0we/view?usp=share_link">Google Drive</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://pan.baidu.com/s/12kjAce8f3NxYGxK-OU0alw?pwd=ztzs">百度网盘 (提取码ztzs)</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://disk.yandex.ru/d/RFrpDvjxJyQqcg">Яндекс Диск</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://www.dropbox.com/scl/fi/5kavzp5397ztug2o9d18a/ThemeShowcase-1.0b2.apk?rlkey=tkbaf8ts5bl5ipol5u3r8sgnk&st=k4u1n12s&dl=0">Dropbox</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://app.box.com/s/of7hu7p6hceyk6xvsng7dtorkawthz6y">Box</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://drive.proton.me/urls/H82GV8YBPM#Wmre4qOZzODv">Proton Drive</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://pan.xunlei.com/s/VOrBPeGkXa4i9wv-zl6Bp9utA1?pwd=gjwj">迅雷云盘 (提取码gjwj)</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://1024terabox.com/s/1CTwe27O0aBY2Q1asgBBAQw">Terabox</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://mega.nz/file/q5wVBKiT#29V11ruNfsvxMc_e8QjDofAtdKJhVaYJdQrxQiInwz8">MEGA</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://pan.quark.cn/s/12099dbf747f">夸克网盘</a></ion-label>
</ion-item>
</ion-list>
<h2 style="padding-left: 30px;">ThemeShowcase 1.0 (Beta 1)</h2>
<ion-label color="medium" class="tableLabel" style="padding-left: 30px;">SHA256 Checksum: 9bbecb33d577e1dfb26491f456eed75f1658c91a95a74a2c3806b679a1b2ac26</ion-label>
<ion-list :inset="true" style="border-radius: 25px;">
<ion-item>
<ion-label><a href="https://f2.puffercat.xyz/PuffercatApps/ThemeShowcase-1.0b.apk">🇩🇪 2.puffercat.xyz - Contabo (Default)</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://cdn.puffercat.xyz/puffercat-apps/apks/ThemeShowcase/ThemeShowcase-1.0b.apk">🇳🇱 puffercat.xyz - DigitalOcean</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://deimos.pufferc.at/mirror/ThemeShowcase-1.0b.apk">🇸🇪 deimos.pufferc.at - aeza</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://www.icloud.com/iclouddrive/06esiWCsrhr8f2YHXx0UjIiSA#ThemeShowcase-1">iCloud Drive</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://1drv.ms/u/c/c6bbfc602e5efcd0/IQDW4qjhuycJSp-4Mqfr11lYAUYO-iEoIbsWlzBB-Pyk-tg?e=aLRQTX">OneDrive</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://drive.google.com/file/d/1AauWIG6HuEHoVzoDx-g7TsJL1e8ryPch/view?usp=share_link">Google Drive</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://pan.baidu.com/s/1RGYat1gN9Tr3PALx_uJPMw?pwd=ztzs">百度网盘 (提取码ztzs)</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://disk.yandex.ru/d/rkn4wXI5cwk3og">Яндекс Диск</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://www.dropbox.com/scl/fi/yvzjcbwpn2p5ko2ni2kph/ThemeShowcase-1.0b.apk?rlkey=mdz2d6srgmkglo071pgy8kewe&st=jy7xgo9w&dl=0">Dropbox</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://app.box.com/s/2paombc0rin2fwua6ymrslnl5p6appmn">Box</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://drive.proton.me/urls/R31K5G9DCG#30J7GaScLdp2">Proton Drive</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://pan.xunlei.com/s/VOrBPj5FhnZ2OUODS3GovMCFA1?pwd=zyyc">迅雷云盘 (提取码zyyc)</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://1024terabox.com/s/19ttrqa8gnrPAWloC98dtRQ">Terabox</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://mega.nz/file/utgCHLZb#30Lo_t_RcJTv1pQOEcMR6A9m-djWK92MOGDzwQ9crUY">MEGA</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://pan.quark.cn/s/63945f16a0b7">夸克网盘</a></ion-label>
</ion-item>
</ion-list>
<br>
</ion-content>
</ion-modal>
<ion-modal ref="modal2" trigger="googlePlayEA_ThemeShowcase">
<ion-header>
<ion-toolbar>
<ion-title>Google Play Early Access</ion-title>
<ion-buttons slot="end">
<ion-button @click="dismiss2()">Close</ion-button>
</ion-buttons>
</ion-toolbar>
</ion-header>
<ion-content class="ion-padding">
<p class="guideTextRegular">Due to Google's "production application" requirements, this app is not yet able to be published on Google Play. You can join the closed testing program to access the app now and help fulfill the requirements to get fully published.</p>
<div class="guideNumberBackground">1</div>
<div class="guideSectionContainer">
<div class="guideSectionLineContainer">
<div class="guideSectionline"></div>
</div>
<div class="guideSectionContent">
<p class="guideTextRegular">Join <a href="https://groups.google.com/g/pfrmedia-beta">this</a> Google group. Make sure you're using the same Google account as the one you'll download the app on.</p>
<img src="../assets/WallCat_GPLAY_Guide_1.png" class="guideImage">
</div>
</div>
<div class="guideNumberBackground">2</div>
<div class="guideSectionContainer">
<div class="guideSectionLineContainer">
<div class="guideSectionline"></div>
</div>
<div class="guideSectionContent">
<p class="guideTextRegular">Go <a href="https://play.google.com/store/apps/details?id=xyz.puffercat.themeshowcase">here</a> to download the app. Ensure the account you're using on Google Play is the same one you joined the group on.</p>
<img src="../assets/ThemeShowcase_GPLAY_Guide_2.jpg" class="guideImage">
</div>
</div>
<div class="guideNumberBackground">3</div>
<div class="guideSectionContainer">
<div class="guideSectionLineContainer">
<div class="guideSectionline"></div>
</div>
<div class="guideSectionContent">
<p class="guideTextRegular">Please use the "Private feedback to developer" function to help the app get published (Google uses this as a metric of app's production readiness)</p>
<img src="../assets/ThemeShowcase_GPLAY_Guide_3.png" class="guideImage">
</div>
</div>
</ion-content>
</ion-modal>
<ion-row class="column-standard">
<ion-col>
<h4><strong>Changelog - 1.0 (Beta)</strong></h4>
<h4><strong>Changelog - 1.0 (Beta 2)</strong></h4>
<ul>
<li>Initial release</li>
<li>Updated target Android version to comply with Google Play requirements</li>
<li>First release on Google Play</li>
</ul>
</ion-col>
</ion-row>
@ -114,7 +277,7 @@
export default defineComponent({
name: 'Tab1Page',
components: {IonHeader, IonToolbar, IonTitle, IonContent, IonPage, IonCol, IonGrid, IonRow, IonButton, IonIcon, IonButtons, IonBackButton},
components: {IonHeader, IonToolbar, IonTitle, IonContent, IonPage, IonCol, IonGrid, IonRow, IonButton, IonIcon, IonButtons, IonBackButton, IonModal},
setup() {
return {
logoAndroid,
@ -122,6 +285,14 @@
logoPwa,
ellipsisVertical
}
},
methods: {
dismiss() {
(this.$refs.modal as InstanceType<typeof IonModal>).$el.dismiss();
},
dismiss2() {
(this.$refs.modal2 as InstanceType<typeof IonModal>).$el.dismiss();
},
}
});
</script>
@ -209,5 +380,47 @@ div.scrollScreenshots img {
} .hidden-link {
text-decoration-line: none;
color: var(--ion-color-light-contrast);
} .guideNumberBackground {
background-image: linear-gradient(to bottom, #33D198, #06986A);
height: 50px;
width: 50px;
border-radius: 100%;
text-align: center;
align-items: center;
justify-content: center;
display: flex;
font-size: 30px;
font-weight: bold;
box-shadow: #06986a 0px 2px 10px;
color: white;
} .guideSectionline {
height: 100%;
width: 2px;
background-color: #33D198;
} .guideSectionLineContainer {
width: 50px;
min-width: 50px;
display: flex;
justify-content: center;
} .guideSectionContainer {
display: flex;
flex-direction: row;
} .guideTextRegular {
font-size: 20px;
} .guideSectionContent {
width: 100%;
} .checksum {
font-family: monospace;
} .guideImage {
height: auto;
width: 300px;
border-radius: 20px;
} .column-extension {
background-color: transparent;
color: var(--ion-color-light-contrast);
padding: 0px;
border-radius: 25px;
margin: 5px;
margin-top: 5px;
}
</style>

View File

@ -3,7 +3,7 @@
<ion-header>
<ion-toolbar>
<ion-buttons slot="start">
<ion-back-button default-href="/tabs/soon"></ion-back-button>
<ion-back-button default-href="/"></ion-back-button>
</ion-buttons>
<ion-title>WallCat</ion-title>
</ion-toolbar>
@ -17,7 +17,6 @@
<ion-grid>
<ion-row class="column-standard2">
<ion-col class="bannerColumn">
</ion-col>
</ion-row>
<ion-row class="column-standard">
@ -29,7 +28,7 @@
<ion-column style="padding: 0px; margin: 0px;"><p class="size-appname" style="padding: 0px; margin: 0px;"><strong>WallCat</strong></p></ion-column>
</ion-row>
<ion-row style="padding: 0px;">
<ion-column><p class="size-appname-icon"></p></ion-column>
<ion-column><p class="size-appname-icon">version 1.0.1</p></ion-column>
</ion-row>
<ion-row style="padding: 0px;">
<ion-column><ion-icon :icon="logoAndroid" class="size-appname-icon"/></ion-column>
@ -38,7 +37,182 @@
</ion-row>
<ion-row class="column-standard2">
<ion-col>
<ion-button href="https://f2.puffercat.xyz/PuffercatApps/WallCat-1.0.apk" expand="full" shape="round" style="margin: 0px;" download="WallCat-latest.apk">Download</ion-button>
<ion-button href="https://f2.puffercat.xyz/PuffercatApps/WallCat-1.0.1.apk" expand="full" shape="round" style="margin: 0px;" download="WallCat-latest.apk">Download</ion-button>
</ion-col>
<ion-col>
<ion-button id="alternateMirrors_WallCat" expand="full" shape="round" style="margin: 0px;">Alternate mirrors</ion-button>
</ion-col>
</ion-row>
<ion-row class="column-extension">
<ion-col>
<ion-button id="googlePlayEA_WallCat" expand="full" shape="round" style="margin: 0px;">Google Play</ion-button>
</ion-col>
<ion-col>
<ion-button href="https://pfr.cat/out/hwwc?utm_source=puffercatapps" expand="full" shape="round" style="margin: 0px;">Huawei AppGallery</ion-button>
</ion-col>
</ion-row>
<ion-modal ref="modal" trigger="alternateMirrors_WallCat">
<ion-header>
<ion-toolbar>
<ion-title>Alternate mirrors</ion-title>
<ion-buttons slot="end">
<ion-button @click="dismiss()">Close</ion-button>
</ion-buttons>
</ion-toolbar>
</ion-header>
<ion-content class="ion-padding">
<h2 style="padding-left: 30px;">WallCat 1.0.1</h2>
<ion-label color="medium" class="tableLabel checksum" style="padding-left: 30px;">SHA256 Checksum: 14e8a11e5d5c7fcee7fd9bc3cda1e0fd838f8de8fad2b76ceed1adfd42c8904d</ion-label>
<ion-list :inset="true" style="border-radius: 25px;">
<ion-item>
<ion-label><a href="https://f2.puffercat.xyz/PuffercatApps/WallCat-1.0.1.apk">🇩🇪 2.puffercat.xyz - Contabo (Default)</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://cdn.puffercat.xyz/puffercat-apps/apks/WallCat/WallCat-1.0.1.apk">🇳🇱 puffercat.xyz - DigitalOcean</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://deimos.pufferc.at/mirror/WallCat-1.0.1.apk">🇸🇪 deimos.pufferc.at - aeza</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://www.icloud.com/iclouddrive/0d2SL-WxHw7dBwlV_t5ZPAEpQ#WallCat-1.0">iCloud Drive</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://1drv.ms/u/c/c6bbfc602e5efcd0/IQBctXMDf9yJRoDbmIFGm-KPAfPU47FnwZOhblk60lZ9yas?e=pGD23i">OneDrive</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://drive.google.com/file/d/1AWPu8U4ovSQxka88Bh_NA3CSlgMEfL2I/view?usp=share_link">Google Drive</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://pan.baidu.com/s/1D6vWEnmzL_i0YZlrLyTwYw?pwd=wall">百度网盘 (提取码wall)</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://disk.yandex.ru/d/9VehTxAMUmrfzQ">Яндекс Диск</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://www.dropbox.com/scl/fi/hcr8w738c097i8ezm137s/WallCat-1.0.1.apk?rlkey=l13twc95c14tzsnk7zge2ng25&e=1&st=mq0thlil&bmus=1&dl=0">Dropbox</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://app.box.com/s/ccbob8n62hjp10pztr2yp9kxk11fqtsf">Box</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://drive.proton.me/urls/0DK70Z0W8W#N2nfQutAxaGU">Proton Drive</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://pan.xunlei.com/s/VOqblom-krpxYVdRXssZoIKpA1?pwd=hwqu">迅雷云盘 (提取码hwqu)</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://1024terabox.com/s/1boNL4z2-cHZ7ddda1QykVg">Terabox</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://mega.nz/file/KtIRhZpC#YlAZsk1KiVVX_3QfIzokjDIFk0-7KPxgyM3QR4T_Dy8">MEGA</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://pan.quark.cn/s/ffaf9a924042">夸克网盘</a></ion-label>
</ion-item>
</ion-list>
<h2 style="padding-left: 30px;">WallCat 1.0.0</h2>
<ion-label color="medium" class="tableLabel" style="padding-left: 30px;">SHA256 Checksum: b1159ec3a89e5bce08df76a8c7a151d8a7965ddbcc868be7ab0392ff08e3e6db</ion-label>
<ion-list :inset="true" style="border-radius: 25px;">
<ion-item>
<ion-label><a href="https://f2.puffercat.xyz/PuffercatApps/WallCat-1.0.apk">🇩🇪 2.puffercat.xyz - Contabo (Default)</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://cdn.puffercat.xyz/puffercat-apps/apks/WallCat/WallCat-1.0.apk">🇳🇱 puffercat.xyz - DigitalOcean</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://deimos.pufferc.at/mirror/WallCat-1.0.apk">🇸🇪 deimos.pufferc.at - aeza</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://www.icloud.com/iclouddrive/071WiIXKqfEbErB8uwMpQsZ_A#WallCat-1">iCloud Drive</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://1drv.ms/u/c/c6bbfc602e5efcd0/Eafn9A-CP-pFrxUdxGdbMLEBdyDYUO_S0fmiNEKWMdRrNQ">OneDrive</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://drive.google.com/file/d/1dNoPjL0bPx5ewFl61vpQanHHPBflsWdL/view?usp=share_link">Google Drive</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://pan.baidu.com/s/1e_aJvbCUZthaGvBFOS5HhA?pwd=wall">百度网盘 (提取码wall)</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://disk.yandex.ru/d/vA-UW4VqIEx5Wg">Яндекс Диск</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://www.dropbox.com/scl/fi/19gutjtv8gson039k4akh/WallCat-1.0.apk?rlkey=mpgdljgz4mgf9ydp1zsp4tpz6&st=uoh44c0i&dl=0">Dropbox</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://app.box.com/s/q8pdckfn4ltdkrw8w4ybeq0wysx12m5g">Box</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://drive.proton.me/urls/2QBSGT252R#le16Bsi3CqlN">Proton Drive</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://pan.xunlei.com/s/VOP62jYPNlevTgYvIlxZ-mznA1?pwd=dexu">迅雷云盘 (提取码dexu)</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://1024terabox.com/s/1pKUQkFv9ttsFOc2EgXy5Lw">Terabox</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://mega.nz/file/DwxnwLIS#BQwbFp9QZlT25Lb476UJX6__9-XCwTJd1VfHJ5hnFTo">MEGA</a></ion-label>
</ion-item>
<ion-item>
<ion-label><a href="https://pan.quark.cn/s/4944d7713e68">夸克网盘</a></ion-label>
</ion-item>
</ion-list>
<br>
</ion-content>
</ion-modal>
<ion-modal ref="modal2" trigger="googlePlayEA_WallCat">
<ion-header>
<ion-toolbar>
<ion-title>Google Play Early Access</ion-title>
<ion-buttons slot="end">
<ion-button @click="dismiss2()">Close</ion-button>
</ion-buttons>
</ion-toolbar>
</ion-header>
<ion-content class="ion-padding">
<p class="guideTextRegular">Due to Google's "production application" requirements, this app is not yet able to be published on Google Play. You can join the closed testing program to access the app now and help fulfill the requirements to get fully published.</p>
<div class="guideNumberBackground">1</div>
<div class="guideSectionContainer">
<div class="guideSectionLineContainer">
<div class="guideSectionline"></div>
</div>
<div class="guideSectionContent">
<p class="guideTextRegular">Join <a href="https://groups.google.com/g/pfrmedia-beta">this</a> Google group. Make sure you're using the same Google account as the one you'll download the app on.</p>
<img src="../assets/WallCat_GPLAY_Guide_1.png" class="guideImage">
</div>
</div>
<div class="guideNumberBackground">2</div>
<div class="guideSectionContainer">
<div class="guideSectionLineContainer">
<div class="guideSectionline"></div>
</div>
<div class="guideSectionContent">
<p class="guideTextRegular">Go <a href="https://play.google.com/store/apps/details?id=xyz.puffercat.wallcat">here</a> to download the app. Ensure the account you're using on Google Play is the same one you joined the group on.</p>
<img src="../assets/WallCat_GPLAY_Guide_2.png" class="guideImage">
</div>
</div>
<div class="guideNumberBackground">3</div>
<div class="guideSectionContainer">
<div class="guideSectionLineContainer">
<div class="guideSectionline"></div>
</div>
<div class="guideSectionContent">
<p class="guideTextRegular">Please use the "Private feedback to developer" function to help the app get published (Google uses this as a metric of app's production readiness)</p>
<img src="../assets/WallCat_GPLAY_Guide_3.png" class="guideImage">
</div>
</div>
</ion-content>
</ion-modal>
<ion-row class="column-standard">
<ion-col>
<h4><strong>Changelog - 1.0.1</strong></h4>
<ul>
<li>Updated Frames dashboard from v3.6.2 to v3.7.0</li>
<li>First release on Google Play and AppGallery</li>
<li>Last release to support Android 5 due to Frames dashboard dropping Android 5 in version 3.7.1 :(</li>
</ul>
</ion-col>
</ion-row>
<ion-row class="column-standard">
@ -84,12 +258,16 @@
<ion-row class="column-standard">
<ion-col>
<h4><strong>Links</strong></h4>
<a href="https://wallcat.app" class="">Website</a>
<a href="https://wallcat.app?utm_source=PuffercatApps" class="">Website</a>
<br>
<a href="mailto:meow@wallcat.app" class="">E-mail</a>
<br>
<a href="https://twitter.com/WallCatApp" class="">Twitter</a>
<br>
<a href="https://wallcat.app/privacy">Privacy Policy</a>
<br>
<a href="https://wallcat.app/tos">Terms of Service</a>
<br>
<br>
</ion-col>
</ion-row>
@ -112,7 +290,7 @@
export default defineComponent({
name: 'Tab1Page',
components: {IonHeader, IonToolbar, IonTitle, IonContent, IonPage, IonCol, IonGrid, IonRow, IonButton, IonIcon, IonButtons, IonBackButton},
components: {IonHeader, IonToolbar, IonTitle, IonContent, IonPage, IonCol, IonGrid, IonRow, IonButton, IonIcon, IonButtons, IonBackButton, IonModal},
setup() {
return {
logoAndroid,
@ -120,6 +298,14 @@
logoPwa,
ellipsisVertical
}
},
methods: {
dismiss() {
(this.$refs.modal as InstanceType<typeof IonModal>).$el.dismiss();
},
dismiss2() {
(this.$refs.modal2 as InstanceType<typeof IonModal>).$el.dismiss();
},
}
});
</script>
@ -197,6 +383,13 @@
} div.scrollScreenshots {
overflow: auto;
white-space: nowrap;
} .column-extension {
background-color: transparent;
color: var(--ion-color-light-contrast);
padding: 0px;
border-radius: 25px;
margin: 5px;
margin-top: 5px;
}
div.scrollScreenshots img {
@ -205,5 +398,40 @@ div.scrollScreenshots img {
} .hidden-link {
text-decoration-line: none;
color: var(--ion-color-light-contrast);
} .guideNumberBackground {
background-image: linear-gradient(to bottom, #33D198, #06986A);
height: 50px;
width: 50px;
border-radius: 100%;
text-align: center;
align-items: center;
justify-content: center;
display: flex;
font-size: 30px;
font-weight: bold;
box-shadow: #06986a 0px 2px 10px;
color: white;
} .guideSectionline {
height: 100%;
width: 2px;
background-color: #33D198;
} .guideSectionLineContainer {
width: 50px;
min-width: 50px;
display: flex;
justify-content: center;
} .guideSectionContainer {
display: flex;
flex-direction: row;
} .guideTextRegular {
font-size: 20px;
} .guideSectionContent {
width: 100%;
} .checksum {
font-family: monospace;
} .guideImage {
height: auto;
width: 300px;
border-radius: 20px;
}
</style>

7774
yarn.lock

File diff suppressed because it is too large Load Diff