J'en avais marre de la même vieille page d'onglet. Je voulais avoir un tableau de bord pour tout ce que j'atteins dans ma journée de travail typique, alors je l'ai construit.
Startertab est là pour révolutionner la façon dont vous commencez votre journée sur Internet. Avec un WebApp entièrement personnalisable pour remplacer votre nouvelle page d'accueil d'onglet, vous pouvez personnaliser votre expérience en ligne comme jamais auparavant.
Vous pouvez installer l'extension Chrome ici, ou l'extension Firefox ici et faire de StarterTab le site qui s'ouvre sur chacun de vos nouveaux onglets.
Le stockage local est utilisé pour stocker toutes vos personnalisations, ce qui signifie que vous possédez vos données! Tous les paramètres, jetons et thèmes sont assis sur votre propre navigateur. Certains peuvent appeler la paresse que je ne veux pas maintenir une base de données, vous pouvez également le voir comme moi aidant à empêcher vos données de faire un autre service cloud.
Écrit dans NextJS avec Charkaui. Le frontend et les fonctions sont hébergés sur Vercel, la base de données sur le néon.
git clone https://github.com/allister-grange/startertab.git
cd startertab
yarn install
Copiez le fichier .env.local.example dans ce répertoire à .env.local (qui sera ignoré par Git):
cp .env.local.example .env.local
Ajoutez des détails pour tous les fournisseurs que vous souhaitez utiliser:
STRAVA_CLIENT_ID=<YOUR_SECRET_HERE>
STRAVA_SECRET=<YOUR_SECRET_HERE>
WEATHERAPI_TOKEN=<YOUR_SECRET_HERE>
SPOTIFY_CLIENT_ID=<YOUR_SECRET_HERE>
SPOTIFY_CLIENT_SECRET=<YOUR_SECRET_HERE>
FINNHUB_SECRET=<YOUR_SECRET_HERE>
TWITTER_CLIENT_ID=<YOUR_SECRET_HERE>
TWITTER_CLIENT_SECRET=<YOUR_SECRET_HERE>
TWITTER_CODE_CHALLENGE_KEY=<YOUR_SECRET_HERE>
TOKEN_ENCRYPT_KEY=<YOUR_SECRET_HERE>
OUTLOOK_CLIENT_ID=<YOUR_SECRET_HERE>
OUTLOOK_CLIENT_SECRET=<YOUR_SECRET_HERE>
GOOGLE_CLIENT_ID=<YOUR_SECRET_HERE>
GOOGLE_CLIENT_SECRET=<YOUR_SECRET_HERE>
DATABASE_URL=<YOUR_SECRET_HERE>
DATABASE_URL_UNPOOLED=<YOUR_SECRET_HERE>
ANALYTICS_ENABLED=<true or false>
Pour exécuter votre startertab localement, utilisez:
yarn dev
Pour l'exécuter en mode de production, utilisez:
yarn build && yarn start
src/components/tiles . Assurez-vous d'accepter un accessoire «tileid», cela vous permet de modifier la couleur du texte en fonction des paramètres modifiés dans la barre latérale. type PageProps = {
tileId : number ;
} ;
export const YourNewTile : React . FC < PageProps > = ( { tileId } ) => {
const color = `var(--text-color- ${ tileId } )` ;
return ( ) ;
}src/types/settings.ts .tileSize en src/components/sidebar/OptionsForTileTypeSelect.tsxtileType dans src/components/TileContainer.tsxSi vous avez besoin d'un stockage persistant
TileSettings dans src/types/settings.tssrc/recoil/UserSettingsSelectors.tsxExemple de sélecteur:
export const imageFilePathSelector = createTilePropertySelector < string > (
"imageFilePath" ,
( theme , newValue ) => {
theme . imageFilePath = newValue ;
}
) ;Utilisation de ce sélecteur dans une tuile:
const [ fileValue , setFileValue ] = useRecoilState (
imageFilePathSelector ( tileId )
) as [ string | undefined , SetterOrUpdater < string | undefined > ] ;Création d'un élément de menu de barre latérale pour les options
OptionType dans src/types/settings.tssrc/helpers/sideBarOptions.tssrc/components/sidebar/SettingOptionContainer.tsx pour inclure le nouveau type d'option