GithubHelp home page GithubHelp logo

uvacoder / startertab Goto Github PK

View Code? Open in Web Editor NEW

This project forked from allister-grange/startertab

0.0 0.0 0.0 41.87 MB

A custom new tab page, keeping all the best info handy (a work in progress, feedback is invaluable)

Home Page: https://startertab.com

JavaScript 0.11% TypeScript 92.03% CSS 7.85%

startertab's Introduction

StarterTabDemoV3.mp4

Inspiration

Do you want to have a dashboard with all of the information (addictions) you'd want to see handy in one spot on every new tab? I do, so I am building it!

I use this extension to make the Starter Tab app open up on every new tab of mine.

Tech

Local storage is used for storing your information, meaning you own your data! All of the settings, tokens and themes sit on your own browser. Some may call it laziness that I don't want to maintain a database, you could also see it as me helping prevent your data being in yet another cloud service.

Written in NextJS with CharkaUI. Hosted in Vercel.

Current API Integrations

Future API Integrations

  • Outlook / Microsoft
  • Gmail
  • Public transport provider

Local Hosting

Fork the repo, clone it down and create a .env.local file in the root directory and populate the following keys:

.env.local

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>

Spin her up and you're good to go!

yarn install && yarn dev

Adding in a New Tile

  1. Create your new Tile component in the src/components/tiles folder. Make sure to accept a 'tileId' prop, this enables you to change the color of the text based off the settings changed in the sidebar.
type PageProps = {
  tileId: TileId;
};

export const YourNewTile: React.FC<PageProps> = ({ tileId }) => {
    const color = `var(--text-color-${tileId})`;

  return ();
}
  1. Add your tile type to the TileType in src/types/settings.ts.
  2. Add your new option into the corresponding size in the switch statement for sizeOfTileForTypes in src/components/sidebar/TypePicker.tsx
  3. Add your tile type to the switch statement for the tileType in src/components/TileContainer.tsx
  4. If you want to add in persistent storage to the tile, use Recoil. Look at how another tile uses a FamilySelector and the useRecoilState hook

startertab's People

Contributors

allister-grange avatar rorep1ay avatar vertis avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.